复习下表单
默认提交方式为get
Input标签
操作一下:
#子路由中加入最后三句话,渲染表单,get,post
urlpatterns = [
path('', views.index_handler, name='index'),
re_path('setcookie/(.+)/(.+)', views.cookie_handler,name='set_cookie'),
re_path('getcookie/(.+)',views.get_cookie_handler,name='get_cookie'),
re_path('set_session/(.+)/(.+)', views.set_session_handler, name='set_session'),
re_path('get_session/(.+)', views.get_srssion_handler, name='get_session'),
path('flush',views.flush_handler, name='flush'),
path('clser',views.clear_handler, name='clear'),
path('form', views.from_handler, name='form'),#渲染提交表单的数据的前端页面
path('form_get',views.form_get_handler, name='form_get'),
path('form_post',views.form_post_handler, name='form_post')
]
#views中加入对应的函数
def from_handler(request):
return render(request, 'form.html')#
def form_get_handler(request):
username = request.GET.get('username')
hobby = request.GET.getlist('hobby')
print('username:',username)
print('hobbys',hobby)
return HttpResponse('')
def form_post_handler(request):
username = request.POST.get('username')
hobby = request.POST.getlist('hobby')
print('username:', username)
print('hobbys', hobby)
return HttpResponse('')
#在模板中添加form.html,区分post,get,只需要更改form头
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="{% url 'form_post' %}" method="post"><! 要更改为get,修改这里 -->
{% csrf_token %} <! post加这个不报错 -->
username:
<input type="text" name="username"> <br>
hobby:
<input type="checkbox" name="hobby" value="python">python
<input type="checkbox" name="hobby" value="C++">C++
<br>
<input type="submit" value="submit">
</form>
</body>
</html>