码迷,mamicode.com
首页 > 其他好文 > 详细

Django 测试开发2

时间:2019-10-05 20:05:52      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:redirect   16px   效果   保护   表单   code   from   密码   mic   

1.get方法和post方法

get方法

技术图片

 

 技术图片

 

 post方法

直接把method修改成post,报错如下,Django针对CSRF的保护措施是在生成的每个表单放置一个自动生成的令牌,通过这个令牌判断POST请求是否来自同一个网站。使用模板标签添加CSRF令牌,在from表单中添加{% csrf_token %}。

技术图片

 

 技术图片

2.接收数据并处理

 Django怎么接收请求数据并处理的呢,可以通过from表单的action属性来指定提交的路径。接下来需要配置新添加的路由,打开urls.py文件,添加login_action路由。技术图片

然后要添加对应路由的视图函数,打开views.py文件,创建login_action视图函数。

def login_action(request):
    if request.method == POST:
        username = request.POST.get(username,‘‘)
        password = request.POST.get(password,‘‘)
        if username==admin and password==admin123:
            return HttpResponse(login success)
        else:
            return render(request,index.html,{error:username or password error})

通过login_action函数来处理登录请求。

客户端发送的请求信息都包含在request中,通过request.method获取请求方式,并判断是否是POST方式的请求。通过.get()方法获取‘uesrname’和‘password’的用户名和密码(‘uesrname’和‘password’对应的是<input>标签的name属性),如果参数为空,就返回一个空的字符串。如果if语句不成立,就返回带有错误提示的字典。模板中使用模板语言添加{{error}},它对应的是render返回字典中的key

技术图片

网页输入错误的用户名密码,错误提示如下:

 

 

 

 技术图片

3、HttpResponse、render、HttpResponseRedirect

httpResponse:内部传入一个字符串参数,然后发送给浏览器。

render:重定向。需要三个参数,request参数,html模板文件,保存具有数据的字典参数。 如:{key:value}形式。

HttpResponseRedirect:当一个逻辑处理完成后,不需要向客户端呈现数据,而是转回到其它页面,如添加成功、修改成功、删除成功后显示数据列表,而数据的列表视图已经开发完成,此时不需要重新编写列表的代码,而是转到这个视图就可以,此时就需要模拟一个用户请求的效果,从一个视图转到另外一个视图,就称为重定向。重定向到某个url,再跳转到相应的视图文件。

 

Django 测试开发2

标签:redirect   16px   效果   保护   表单   code   from   密码   mic   

原文地址:https://www.cnblogs.com/wzjbg/p/11625336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!