Django服务端获取请求与响应数据

Django服务端获取请求与响应数据

服务器获取请求的4种方式

P.S. 利用HTTP协议向服务器传参的4种请求:
  • 查询字符串
  • 请求体
  • URL路径参数
  • 请求头
1.提取查询字符串
request.GET

P.S. 在 HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例。这是一个 Django 自定义的类似字典的类,用来处理同一个键带多个值的情况,专门用来存储请求中提取的查询字符串参数和请求体参数。

2.提取请求体数据
表单类型:
request.POST
JSON类型:
request.body

P.S. 该方法获取的是字节类型的原始数据,需要调用json模块转换数据类型。

3.提取URL路径参数

P.S. 使用默认的路由转换语法,直接用path(),需要使用自定义路由转换的正则表达式,则需要用re_path()。

path()/re_path()

P.S. Django默认封装用于路由转换的正则表达式:

DEFAULT_CONVERTERS = {
      
 'int': IntConverter(), # 匹配正整数,包含0
 'path': PathConverter(), # 匹配任何非空字符串,包含了路径分隔符
 'slug': SlugConverter(), # 匹配字母、数字以及横杠、下划线组成的字符串
 'str': StringConverter(), # 匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
 'uuid': UUIDConverter(), # 匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00
}
4.提取请求头数据
request.META

服务器响应请求的4种方式

1.响应多种数据类型
HttpResponse(content=响应体, content_type=响应体数据类型,默认为text/html, status=状态码,默认为200)
2.响应JSON类型
http.JsonResponse(dict_data)
http.JsonResponse(list_data, safe=False)
3.重定向

P.S. 这里的重定向是指当某个操作完成后,需要将用户引导到另外一个逻辑或页面。

redirect()

P.S. 重定向还可以搭配reverse()方法,通过给路由起别名,完成路由的反向解析。

4.渲染并响应HTML模板

P.S. 通俗理解就是将context的内容,加载到templates中定义的文件,返回一个渲染后的 HttpResponse 对象。

render(request, template_name, context)

你可能感兴趣的:(Django框架,django,python,后端)