一、设置响应方式
网站的运行原理遵从HTTP协议,分为HTTP请求和HTTP响应。HTTP响应也称为状态码,分为5种状态:消息、成功、重定向、请求错误和服务器错误。若以使用频率划分,HTTP状态码分为:成功、重定向和异常响应(请求错误和服务器错误)。
二、HTTP请求对象
对于Django来说,当它接收到HTTP请求之后,会根据HTTP请求携带的请求参数以及请求信息来创建一个WSGIRequest对象,并且作为视图函数第一个参数,通常写成request,该参数包含用户所有的请求信息。
WSGIRequest常用类属性:
- COOKIE:获取客户端(浏览器)的Cookie信息,字典形式,键值对都是字符串
- FILES:django.http.request.QueryDict对象,包含所有文件上传信息
- GET:获取GET请求的请求参数,django.http.request.QueryDict对象,操作类似字典
- META:获取客户端(浏览器)的请求头信息,字典存储
- method:获取当前请求的请求方式(GET 或 POST)
- path:获取当前请求路由地址
- session:一个类似字典的对象,用于操作服务器的会话信息,可临时存放用户信息
- user:当Djamgo启用认证中间件时才可用,若用户登录,值是内置数据模型User的对象;若没有登录,user将设为django.contrib.auth.models.AnonymousUser的一个实例
HttpRequest常用类方法:
- is_secure():是否才有HTTP协议
- is_ajax():是否才有AJAX发送HTTP请求,判断原理是请求头中是否存在X-Requested-With:XMLHttpRequest
- get_post():获取服务器的域名,如果访问时候设有端口号,返回就会带上端口号
- get_full_path():返回路由地址,若带有参数,一并返回
- get_raw_uri():获取完整网址信息,域名、端口和路由地址一并返回
三、文件上传
- UploadFile:文件上传的基本功能类,继承父类File,主要获取文件的文件名、大小和类型等基本信息
- TemporaryUploadFile:将文件数据临时放在服务器所指定的文件夹里,适用于大文件的上传
- InMemoryUploadFile:在文件数据存放在服务器的内存里,适用于小文件的上传
- SimpleUploadFile:将文件的文件名、大小和类型生成字典格式
实践出真知~