zoukankan      html  css  js  c++  java
  • django框架 input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 obj.chunks 用于文件传输 enctype="multipart/form-data文件传输必备表头

    在上一个博客中,我们学习了如果创建django,这里我们主要讲如何把数据传给后台

    在url文件中, 从app01中导入views, 以及创建url(r'^login/', views.login)

    from django.contrib import admin
    from django.conf.urls import url
    from app01 import  views
    urlpatterns = [
    
        url(r'^admin/', admin.site.urls),
        url(r'^login/', views.login),
    ]

    接下来在app01.views中的login函数进行操作

    简要说明: 当第一次进入views.login的方式是get, 因此只需要做一个跳转到login.html 

    当login.html 提交表单返回到views.login时,这时的方式就是post,通过if语句对两者进行区分

    from django.shortcuts import render
    
    # Create your views here.
    
    def login(request):
    #第一次直接跳转到login.html,等待用户的操作
    if request.method == 'GET': render(request, 'login.html') elif request.method == 'POST': #接收用户返回时的操作
    #接收name='gender' 里的value信息
    # gender = request.POST.get('gender') # print(gender)


    #接收name='gender'里的value信息,getlist常用于接收多个信息,如多选框 # gender = request.POST.getlist('gender1') # print(gender)



    # city = request.POST.get('city') # print(city)
    # request.FILES.get 主要用于接收name='fafa'的文件
    #用循环的方式接收 文件的chunks片段
            import os
            obj = request.FILES.get('fafa')
            print(obj)
    file_path
    =obj.name f = open(file_path, mode='wb') for i in obj.chunks(): f.write(i) f.close() return render(request, 'login.html')

    html文件,注意在传输文件时需要在form中加入

    enctype="multipart/form-data"

    在传递单选多选下拉框时name是相同的, 用value值的不同来进行区分

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="/login/" method="post" enctype="multipart/form-data">
            <p>
            <input type="text" name="username">
            <input type="text" name="pwd">
            <input type="text" name="email">
            </p>
            <p>
                男:<input type="radio" name="gender" value="1">
                女:<input type="radio" name="gender" value="2">
                张扬:<input type="radio" name="gender" value="3">
    
            </p>
            <p>
                男:<input type="checkbox" name="gender" value="11">
                女:<input type="checkbox" name="gender" value="22">
                张扬:<input type="checkbox" name="gender" value="33">
            </p>
            <p>
                <select name="city">
                    <option value="sh">上海</option>
                    <option value="xm">厦门</option>
                    <option value="gj">广州</option>
                </select>
            </p>
            <p>
                <input type="file" name="fafa">
            </p>
            <input type="submit" value="提交">
        </form>
    
    </body>
    </html>
    
    
    
  • 相关阅读:
    诗人就是“情场浪子”的代名词?
    微博营销,开启营销的新时代
    网店成功之道:卖家应有4种心态(实战交流)
    一枚钉子前进
    推动中国文学的发展,我义不容辞
    微博营销,再次引爆网络江湖
    微博营销,不仅仅是粉丝
    邮件群发软件版本升级公告
    如何让自己在浩瀚的网海中脱颖而出
    如何定时关机【windows/linux】
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/9339045.html
Copyright © 2011-2022 走看看