django框架 input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 obj.chunks 用于文件传输 enctype="

Posted python我的最爱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django框架 input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 obj.chunks 用于文件传输 enctype="相关的知识,希望对你有一定的参考价值。

在上一个博客中,我们学习了如果创建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>

 


 

以上是关于django框架 input 文本框 单选框 多选框 上传文件 等数据传输后台的程序 request.getlist接收多个结果 obj.chunks 用于文件传输 enctype="的主要内容,如果未能解决你的问题,请参考以下文章

用js控制单选框或者多选框问题

如何知道它是选择/文本框/单选/复选框? [复制]

jQuery 单选框 选中问题

javascript [jQuery单选框选中与取消选中应用]记录jQuery使用过程中单选框选中与取消选中的坑。 #JS #jQuery #input #radio

jquery 如何获取单选框的值?

单选框、复选框、下拉框的CSS怎么写?