• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

对django views中 request, response的常用操作详解

python 搞代码 4年前 (2022-01-08) 12次浏览 已收录 0个评论

今天小编就为大家分享一篇对django views中 request, response的常用操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

request

获取post请求中的json数据

 def hello(request): data = json.loads(request.body) ...

json格式还有一些 非表单序列化 的格式,都可以从 request.body 中获取请求体中的数据,对于ajax请求可以使用 request.is_ajax() 来判断

根据请求的信息获取base url(有时候服务的域名比较多,还是需要动态的拼接一下url信息)

 # url http://wificdn.com:8888/wxpay/qrcode2/1<strong style="color:transparent">来源gao@daima#com搞(%代@#码网</strong>6122010404238801544?name=lzz request.get_host() # wificdn.com:8888 request.get_full_path() # u'/wxpay/qrcode2/16122010404238801544?name=lzz' request.build_absolute_uri('/') # 'http://wificdn.com:8888/' request.build_absolute_uri('/hello') # 'http://wificdn.com:8888/hello' request.build_absolute_uri() # 'http://wificdn.com:8888/wxpay/qrcode2/16122010404238801544?name=lzz' request.path # u'/wxpay/qrcode2/16122010404238801544' request.scheme # 'http' 

获取表单中选中的 checkbox 信息, 例如checkbox的name为 checks

 var_list = request.POST.getlist('checks')

返回的是个list对象,如果没有��️返回 [] ,如果表单中没有这个key也返回 []

response

json格式的响应 1.8版本中已经提供了 JsonResponse, from django.http import JsonResponse 就可以使用了,低版本的django可以参照源码自己写一个,几行代码就行了。 response 中设置 cookies 和 header

 def xxxxview(request): .... resp = HttpResponseRedirect('/account/portal/?token=%s' % es) resp.set_cookie("coofilter", es, max_age=300) resp['Erya-Net-Type'] = NET_TYPE resp['Erya-Auth-Host'] = AUTH_HOST resp['Erya-Auth-Port'] = AUTH_PORT resp['Erya-Auth-Uip'] = ip resp['Erya-Auth-Token'] = es return resp 

session

how to use session, 主要是get和set,和删除

 def post_comment(request, new_comment): if request.session.get('has_commented', False): return HttpResponse("You've already commented.") c = comments.Comment(comment=new_comment) c.save() request.session['has_commented'] = True return HttpResponse('Thanks for your comment!') def logout(request): try: del request.session['member_id'] except KeyError: pass return HttpResponse("You're logged out.") 

cookies

 def login(request): response = HttpResponseRedirect('/url/to_your_home_page') response.set_cookie('cookie_name1', 'cookie_name1_value') response.set_cookie('cookie_name2', 'cookie_name2_value') return response def logout(request): response = HttpResponseRedirect('/url/to_your_login') response.delete_cookie('cookie_name1') response.delete_cookie('cookie_name2') return response # 获取 coo = request.COOKIES.get('coofilter') # cookies 过期时间 hr.set_cookie('user_id', user_id, max_age=300)    

以上就是对django views中 request, response的常用操作详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:对django views中 request, response的常用操作详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址