python测试开发django-24.表单提交之get请求

前言

通常我们需要在html页面上输入框里面输入数据,比如登录的时候,输入账号和密码,点提交按钮。

从html把数据提交到服务端,服务端接收数据后判断提交的数据,然后做出对应的响应,这么一整个流程就是表单相关的知识点,涉及到数据的交互。

form表单

表单在html中由标签实现,一个完整的表单包含四个部分:提交地址、请求方式、元素控件、提交按钮,简单的html表单如下

action 提交地址,设置用户提交的数据由哪个url接收和处理

method 请求方式,get或post请求

input 元素控件, 输入文本信息

submit 提交按钮,触发提交动作

get请求提交

把上面的html报错为get_demo.html,放到templates目录下,views.py写个访问

urls.py访问地址

在浏览器输入http://localhost:8002/qq/,打开页面如下

输入QQ号点击提交,页面显示:提交成功!

获取提交参数(request.GET)

html上的数据提交后,我们希望能获取到提交的数据,然后对数据做个简单的处理,跟进不同的数据返回不同的结果。

我这里写个简单的案例,接收到用户提交的QQ号,对QQ号做个简单判断,奇数返回“大吉大利”,偶数返回“恭喜发财”

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

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

查询数据库返回

通常查询涉及到查询数据库,与数据库会有数据交互,接着前面的User库,通过输入用户名,查询到对应的emali地址,参考https://www.cnblogs.com/yoyoketang/p/10335212.html

实现功能:通过输入用户名称name值,查询到对应的email地址,测试数据如下

templates/name.html

视图函数

访问地址和返回地址

html显示效果如下

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190222G0UFNY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券