django之浏览器使用POST提交表单,后端获取数据
环境同前篇django的文章。
注意:使用表单提交,注释掉settings.py中的中间件crsf。
vim/root/py3/django-test1/test3/test3/settings.pyMIDDLEWARE_CLASSES=(#'django.middleware.csrf.CsrfViewMiddleware',...)
配置视图函数:
vim/root/py3/django-test1/test3/booktest/views.pydefpostTest1(request):returnrender(request,'booktest/postTest1.html')defpostTest2(request):username=request.POST['uname']userpasswd=request.POST['passwd']usergender=request.POST.get('ugender')userhobby=request.POST.getlist('uhobby')context={'uname':username,'upwd':userpasswd,'ugender':usergender,'uhobby':userhobby}returnrender(request,'booktest/postTest2.html',context)
添加html模板:
vim/root/py3/django-test1/test3/templates/booktest/postTest1.html<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://×××w.w3.org/TR/html4/loose.dtd"><html><head><title>Title</title></head><body><formmethod="post"action="/booktest/postTest2/">用户名:<inputtype="text"name="uname"><br>密码:<inputtype="password"name="upasswd"><br>性别:<inputtype="radio"name="ugender"value="男"checked="checked">男<inputtype="radio"name="ugender"value="女">女<br>爱好:<inputtype="checkbox"name="uhobby"value="健身">健身<inputtype="checkbox"name="uhobby"value="篮球">篮球<inputtype="checkbox"name="uhobby"value="滑雪">滑雪<br><inputtype="submit"value="提交"></form></body></html>
注意:html表单中的所有input元素的name属性会作为键,value属性会作为值,提交后传递给后端request.POST['键']来接收。
vim/root/py3/django-test1/test3/templates/booktest/postTest2.html<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://×××w.w3.org/TR/html4/loose.dtd"><html><head><title>Title</title></head><body>用户名:{{uname}}<br>密码:{{upwd}}<br>性别:{{ugender}}<br>爱好:{{uhobby}}<br>{%forhobbyinuhobby%}{{hobby}}{%endfor%}</body></html>
配置应用的url:
vim/root/py3/django-test1/test3/booktest/urls.pyfromdjango.conf.urlsimporturlfrom.importviewsurlpatterns=[...url(r'postTest1/$',views.postTest1),url(r'postTest2/$',views.postTest2),]
启动web服务:
cd/root/py3/django-test1/test3/pythonmanage.pyrunserver192.168.255.70:8000
浏览器访问:http://192.168.255.70:8000/booktest/postTest1/
填写表单:
填写表单,点击提交,浏览器url变为:http://192.168.255.70:8000/booktest/postTest2/
可以打开浏览器开发者调试模式,查看表单数据:
演示完成。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。