------------恢复内容开始------------

在登录的时候,输入框里输入账号,密码提交,从前端页面将账号密码等信息提交到服务端,服务端接收数据后根据提交的数据进行相应的处理,返回相应的响应。这一套流程下来就是今天学习的内容,表单的提交,涉及到前后端数据的交互。

from表单

用户表单是web开发的一项基本的功能,Django的表单功能由Form类实现,主要分为两种:

django.forms.Form 基础的表单功能

django.forms.ModelForm 结合模型生成的数据表单

一个完整的表单有四部分组成:日胶地址,请求方式,元素空间,提交按钮。

action

提交地址,设置用户提交数据有哪个url接收和处理。如果显示当前页,不需要跳转,action设置为空字符,如果显示不是当前页,不需要跳转,action设置为跳转后的地址。

method

请求方式,常见的get或post请求

input 

元素空间,输入文本信息

submit

提交按钮,出发提交动作

创建html文件,page_01.html

django框架学习:二十二.django表单提交-get请求

 

数据库表

通过html 实现qq号码查询的提交,models.py文件创建PersonInfo.py文件

django框架学习:二十二.django表单提交-get请求

 

 将数据迁移,同步数据库:

python manage.py makemigrations

python manage.py migrate

打开navicat客户端,查看是否成功创建表格,准备查询数据

django框架学习:二十二.django表单提交-get请求

 

 

获取提交参数(request.GET)

html上的数据提交后,我们希望能获取到提交的数据,然后对数据做个简单的处理,跟进不同的数据返回不同的结果。通过表单提交数据后,通过视图函数实现和数据库的交互。

 

equest.GET 可以看成一个字典,用GET方法传递的值都会保存到其中,可以用 request.GET['key_name']来取值,但是当key值不存在时,会报错“MultiValueDictKeyError”。

为了避免key值不存在时报错,这里可以用另外一种写法:request.GET.get('key_name', None)

获取提交的数据 # r = request.GET["q"] # key_name就是前面输入框里的name属性对应值name="q" r = request.GET.get('q', None) #key_name不存在时,不会报错

查询数据库返回

查询数据库PersonInfo输入qq号码,返回name值

django框架学习:二十二.django表单提交-get请求

 

视图函数数据交互处理

 django框架学习:二十二.django表单提交-get请求

最后添加访问路径:

django框架学习:二十二.django表单提交-get请求

启动django服务后,打开浏览器输入访问路径,进行数据的提交如下

 

 django框架学习:二十二.django表单提交-get请求

 

访问日志:

 django框架学习:二十二.django表单提交-get请求

 

 

 

------------恢复内容结束------------