首页 > 其他分享 >0009.Django请求与响应

0009.Django请求与响应

时间:2022-11-09 15:46:30浏览次数:45  
标签:HttpRequest 请求 GET 对象 0009 Django 响应 key 字符串

HttpRequest对象

  服务器接受到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模型中定义了HttpRequest对象的API

属性:

path:一个字符串,表示请求的页面的完整路径,不包含域名;

method:一个字符串,表示请求使用的HTTP方法,常用值包含:‘GET’,‘POST’;

encoding:一个字符串,表示提交的数据的编码方式;

如果为None则表示使用浏览器的默认设置,一般为utf-8;

这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值;

GET:一个类似于字典的对象,包含get请求方式的所有参数;

request.GET.get('username')   # 获取一个

request.GET.getlist('hobby')   # 获取多个

POST:一个类似于字典的对象,包含post请求方式的所有参数;

FILES:一个类似于字典的对象,包含所有的上传文件;

COOKIES:一个标准的python字典,包含所有的cookie,键和值都为字符串;

session:一个即可读又可写的类似于字典的对象,表示当前的会话,只有当django启用会话的支持时才可用,详细内容见“状态保持”;

方法:is_ajax():如果请求是通过XMLHttpRequest发起的,则返回True;

GET和POST请求

1. GET:

request.GET.get('username')   # 获取一个

request.GET.getlist('hobby')   # 获取多个

2. POST:

{% csrf_token %}   

文件上传

HttpResponse对象

区别:HttpRequest对象是django自动创建,HttpResponse对象需要手动创建。

属性:

content:表示返回的内容,字符串类型;

charset:表示response采用的编码字符集,字符串类型;

status_code:响应的HTTP响应状态码;

content-type:制定输出的MIME类型

方法:

init:使用页内容实例化HttpResponse对象;

write(content):以文件的方式写;

flush():以文件的方式输出缓存区;

set_cookie(key, vlaue='', max_age=None, expires=None):设置Cookie,key,value都是字符串类型,max_age是一个整数,表示指定秒数后过期,

expires是一个datetime或timedelta对象,会话将在这个制定的日期/时间过期,注意datetime或timedelta值只有在使用PickleSerializer时才可序列化,

max_age与expires二选一;

delete_cookie(key):删除制定的key的Cookie,如果key不存在则什么也不发生。

HttpResponse的子类:

返回数据的响应函数有:

HttpResponse():返回简单的字符串对象;

render():渲染模板;

redirect():重定向,制定新的链接;

JsonResponse():返回json数据。

会话技术(之Cookie)

1. 客服端项服务器发送请求,服务器在http协议加上请求头,通过响应,传送并保存客户端,客服端再次访问时,就会自动带上这个cookie。

标签:HttpRequest,请求,GET,对象,0009,Django,响应,key,字符串
From: https://www.cnblogs.com/lxinghua/p/16873923.html

相关文章

  • django一些常用命令
    django一些常用命令#创建项目django-adminstartprojectmysite#创建app,创建成功项目以后,cd进入mysitepythonmanage.pystartappapp01#数据库迁移命令pythonmanage.p......
  • django-cors-headers实现跨域的方法总结
    django-cors-headers实现跨域的方法总结在setting.py中配置INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.cont......
  • day14 --> (HTTP协议响应消息、Response对象、ServletContext对象)
    HTTP协议:1、请求消息:客户端发送给服务器端的数据数据格式:1.请求行2.请求头3.请求空行4.请求体2、响应消息:服务器端发送给客户端的数据数据格式:1.响应行1、组成:协......
  • 19-jmeter-处理响应码存在乱码问题
    前言在使用jmeter测试的时候,有些html页面返回的中文内容显示乱码,导致无法正常查看中文的内容乱码场景在打开百度页面时,返回的html内容中文显示乱码,如下图所示 ......
  • 第二十八章、响应式布局
     ......
  • django 模糊查询
    //查询welldata中welltype为空的记录result=welldata.objects.filter(welltype__isnull=True)result=welldata.objects.filter(welltype=None)//查询welldata中welltyp......
  • RPC请求&响应参数规范
    §0.有话先说0.0“开卷有益”-->如下是《码出高效:Java开发手册》书中5.3节的截图,文中提到“公司内部跨应用远程服务调用优先考虑使用Result对象来封装错误码、错误描述信......
  • django模板
    一、简介Django模板是使用Django模板语言标记的文本文档或Python字符串。模板引擎可以识别和解释一些结构。主要的是变量和标签。使用上下文呈现模板。渲染用它们的......
  • django视图
    一、简介视图是Django应用程序中的一种网页“类型”,通常提供特定功能并具有特定模板,在Django中,网页和其他内容是通过视图传递的。每个视图都由一个Python函数(或方法......
  • python测试开发django-198.bootstrap-formvalidation校验成功发ajax请求
    前言form表单提交按钮是type="submit"类型,输入框按回车会自动提交表单。如果我们想自定义提交表单,可以使用ajax提交。Form表单一个登录页面的Form表单<fo......