环境同前篇django的文章。
注意:使用表单提交,注释掉settings.py中的中间件crsf。vim /root/py3/django-test1/test3/test3/settings.py
MIDDLEWARE_CLASSES = (
#'django.middleware.csrf.CsrfViewMiddleware',
...
)
配置视图函数:vim /root/py3/django-test1/test3/booktest/views.py
def postTest1(request):
return render(request,'booktest/postTest1.html')
def postTest2(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}
return render(request,'booktest/postTest2.html',context)
添加html模板:vim /root/py3/django-test1/test3/templates/booktest/postTest1.html
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://×××w.w3.org/TR/html4/loose.dtd">
Title用户名:
密码:
性别:男女
爱好:健身
篮球
滑雪
注意:html表单中的所有input元素的name属性会作为键,value属性会作为值,提交后传递给后端request.POST['键']来接收。vim /root/py3/django-test1/test3/templates/booktest/postTest2.html
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://×××w.w3.org/TR/html4/loose.dtd">
Title用户名:{{ uname }}
密码:{{ upwd }}
性别:{{ ugender }}
爱好:{{ uhobby }}
{% for hobby in uhobby %}
{{ hobby }}
{% endfor %}
配置应用的url:vim /root/py3/django-test1/test3/booktest/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
...
url(r'postTest1/$',views.postTest1),
url(r'postTest2/$',views.postTest2),
]
启动web服务:cd /root/py3/django-test1/test3/
python manage.py runserver 192.168.255.70:8000
填写表单:
可以打开浏览器开发者调试模式,查看表单数据:
演示完成。