lxinghua

博客园 首页 新随笔 联系 订阅 管理
  117 随笔 :: 0 文章 :: 0 评论 :: 7553 阅读

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。

服务器(session)

 

posted on   興華  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示