请求与响应
01-Request对象
02-form表单
03-一键多值的获取
04-响应对象
01-HttpRequest对象
服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API
常用属性 - path - 请求页面的完整路径的字符串,不包括协议 - method - 返回当前请求使用的http方法的字符串,它保证是大写。 - ```python # 想要判断要一个请求是get请求,还是post请求 if request.method == 'GET': do someting elif request.method == 'POST': do something ``` - encoding - 当前请求数据使用的编码,默认为utf-8,一般为None,可以手动修改 - GET - 一个类字典对象,包含了所有的get参数 - POST - 一个类字典对象,包含了所有的post参数 - FILES - 一个类字典对象,包含了所有的上传文件信息。 - COOKIES - 一个包含了cookies的字典,键值都是字符串 - session - 一个可读可写的字典,键值都是字符串
GET对象例子
02-form表单(html中的表单)
- 通过标签form,手机表单数据,返回给后端。
- form标签必须指定两个属性:
- - action 用于指定提交地址, 不写或者为空,表示提交到当前页
- - method 用于指定提交方式,默认使用GET
- {% csrf_token %}要设置这个不然会403 或者在设置中把中间键注释掉('django.middleware.csrf.CsrfViewMiddleware')
02-1:先写一个登录的视图
02-2:再写一个前端页面
03- 一键多值的获取(.getlist)
04-上传文件(多文件上传也是用getlist)
04-1先在settings.py中拼接文件路径
04-2:写一个接收文件的视图
04-3:前端页面
04-响应对象
响应对象,需要手动创建。
我们编写的视图,负责实例化,填充和返回响应对象
- 常用属性 - content: 表示要返回的内容,字节类型 - charset: 编码方式 - status_code:响应状态码 - content-type:指定输出的MIME类型
- 常用方法 - write(content):以文件的方式写入 - set_cookie 设置 cookie - delete_cookie(key):删除指定cookie
- 常用子类 - HttpResponseRedirect: 重定向 快捷方式 redirect - JsonResponse: 返回json数据。创建时需要传入字典。 - render() 快捷方式