django-表单POST方法提交实现完整过程
2018-03-28 01:04
441 查看
1 进入虚拟环境
2 创建一个django项目test
3 创建一个应用booktest
4 在应用下面设置视图函数,由于表单使用post方式提交,所以要定义2个视图函数,
因为一个视图用来处理url地址用来返回一个表单页面,另一个视图用来处理表单
提交后的响应结果.
views.py代码如下:
5 配置URL
1 根级url配置,在settings.py里面发现
2 打开urls.py,在urlpatterns的值[]里面,添加以下代码
3 在booktest应用下面的urls.py进行url匹配
6 创建模板templates目录,在templates目录下面创建应用booktest,在booktest目录
下面创建2个模板postTest1.html和postTest2.html,
设置模板的路径 ‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)],
注释掉 # ‘django.middleware.csrf.CsrfViewMiddleware’,
postTest1.html代码如下:
模板postTest2.html内容如下,返回POST类字典对象里面的值
8 终端输入python manage.py runserver进行开发项目测试,分别输入
http://127.0.0.1:8000/booktest/postTest1进入表单页面
表单填写完后提交,则返回一个服务器响应的结果,即postTest2.html页面.
workon h1
2 创建一个django项目test
django-admin startproject test
3 创建一个应用booktest
python manage.py startapp booktest
4 在应用下面设置视图函数,由于表单使用post方式提交,所以要定义2个视图函数,
因为一个视图用来处理url地址用来返回一个表单页面,另一个视图用来处理表单
提交后的响应结果.
views.py代码如下:
# coding:utf-8 from django.shortcuts import render # 函数postTest1用来匹配表单对应的url,匹配成功后返回一个表单页面 def postTest1(request): return render(request, 'booktest/postTest1.html') # 函数postTest2用来处理表单提交后服务器响应的结果 def postTest2(request): # user = request.POST.get('user') user = request.POST['user'] pwd = request.POST['password'] gender = request.POST['gender'] hobby = request.POST.getlist('hobby') context = {'user':user, 'pwd':pwd, 'gender':gender, 'hobby':hobby} return render(request, 'booktest/postTest2.html', context)
5 配置URL
1 根级url配置,在settings.py里面发现
ROOT_URLCONF = 'test.urls' 即根级url配置要在test包里面的urls.py进行配置
2 打开urls.py,在urlpatterns的值[]里面,添加以下代码
url(r'^booktest/', include('booktest.urls')), url(r'^booktest/', include('booktest.urls')), 2行代码的意思是,对url进行正则匹配(不包含域名端口和参数部分),如匹配到 字符串booktest/,则进入到包booktest下面的urls.py继续往下匹配
3 在booktest应用下面的urls.py进行url匹配
代码如下: from django.conf.urls import url import views urlpatterns = [ url(r'^postTest1/$', views.postTest1), url(r'^postTest2/$', views.postTest2), ] url(r'^postTest1/$', views.postTest1), 代码意思是当字符串为postTest1时 进行匹配成功,然后由视图里面的函数postTest1来处理
6 创建模板templates目录,在templates目录下面创建应用booktest,在booktest目录
下面创建2个模板postTest1.html和postTest2.html,
设置模板的路径 ‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)],
注释掉 # ‘django.middleware.csrf.CsrfViewMiddleware’,
postTest1.html代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Title</title> </head> <body> <form action="/booktest2/postTest2/" method="post"> 用户名: <input type="text" name="user"><br> 密码: <input type="password" name="password"><br> 性别: <input type="radio" name="gender" value="1" checked>男 <input type="radio" name="gender" value="0">女 <br> 爱好: <input type="checkbox" name="hobby" value="walking">散步 <input type="checkbox" name="hobby" value="swimming">游泳 <input type="checkbox" name="hobby" value="play football">踢足球 <br> <input type="submit" value="提交"> </form> </body> </html>
模板postTest2.html内容如下,返回POST类字典对象里面的值
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http 76ae ://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Title</title> </head> <body> 用户名:{{user}} <br> 密码: {{pwd}} <br> 性别: {{gender}} <br> 爱好: {%for h in hobby%} {{h}} {%endfor%} </body> </html>
8 终端输入python manage.py runserver进行开发项目测试,分别输入
http://127.0.0.1:8000/booktest/postTest1进入表单页面
表单填写完后提交,则返回一个服务器响应的结果,即postTest2.html页面.
相关文章推荐
- android利用httpclient实现post、get请求restful接口进行json和form表单数据提交等公共方法类
- 用post方法实现Django表单
- from 表单提交返回值用post或者是get方法实现
- from 表单提交返回值用post或者是get方法实现
- C#三种模拟自动登录和提交POST信息的实现方法
- 表单用post方法提交数据时乱码问题
- C#三种模拟自动登录和提交POST信息的实现方法
- C# .NET 提交表单POST之另一种方法
- C#三种模拟自动登录和提交POST信息的实现方法
- ajax使用POST方法提交表单
- C#三种模拟自动登录和提交POST信息的实现方法[收藏]
- C#三种模拟自动登录和提交POST信息的实现方法[收藏]
- asp.net表单提交方法GET\POST
- C#三种模拟自动登录和提交POST信息的实现方法
- (转)三种模拟自动登录和提交POST信息的实现方法
- 自动提交表单的实现方法
- C#三种模拟自动登录和提交POST信息的实现方法
- 三种模拟自动登录和提交POST信息的实现方法
- C#三种模拟自动登录和提交POST信息的实现方法
- 防止表单重复提交的实现方法!