美文网首页
(三)Django 请求和响应

(三)Django 请求和响应

作者: 足__迹 | 来源:发表于2019-10-08 01:09 被阅读0次

view中request是HTTprequest对象,包含前端的所有请求信息,必须返回一个HttpReponse对象或者子对象

请求

  • 前端传参的方式

    查询字符串传参("?"后面的参数)

    1.前端传参:
    - 请求参数可以重复


    查询字符串.png

2.后端接收参数在Request.GET中
- 可以使用request.GET来获取请求参数
- request.GET返回的是一个类字典结构(querydict)
- 如果字符串参数中有多个相同的KEY值,使用request.GET返回的是最后一个值
- 使用request.GET.getlist('pass')获取多个相同key值的参数


image.png

数据接收的类型可以用于字典操作


image.png

form 表单

  • 请求


    image.png
  • 请求参数
    1.使用requrst.POST['']来获取form表单参数


    image.png

    2.返回的是一个类字典结构
    3.使用request.POST.getlist('pass')获取多个相同key值的参数


    image.png

json

  • 请求:


    image.png
  • 请求参数:

    1.使用requrst.body['']来获取json参数

    • 请求参数的格式是bytes



      2.需要将bytes类转换为字符串
      3.将json格式的字符串转化为字典


 # json 中的数据存放在body,使用requer.body来获取
        import json
        #将字节转换为字符串
        one_str = request.body.decode('utf-8')
        print(one_str)
        #将字符串转为字典
        one_dice = json.loads(one_str)
        print(type(one_dice))
        print(one_dice)

文件

1.使用requrst.FILES来获取文


image.png

本数据

2.获取参数是类字典类型

url 路径参数

image.png
urlpatterns = [
    path('', index),
    # 如果为类视图,path第二个参数为类视图名
    path('index',views.Indexview.as_view()),

    #int 为路径参数转化器
    #:左边为转化器,右边为参数别名
    # int,slug,uuid
    
    path('<link:pk>',views.Indexview.as_view())
]

视图:



    def get(self,request,pk):
        """

        :param request:
        :param pk:  路径传参,可以使用PK获取参数
        :return:
        """
        return HttpResponse('<h1>get黑夜<h1>')
image.png

HttpResponse(必须返回一个HttpReponse对象或者子对象)

HttpResponse

  • 第一个参数为响应体内容
    返回json数据使用 JsonResponse
   def get(self,request):
        """

        :param request:
        :param pk:  路径传参,可以使用PK获取参数
        :return:
        """
        data={
            "name":'小明',
            'age':16
        }
        # HttpResponse,第一个参数为响应体内容
        #content 必须先转为json 格式
        # return  
 HttpResponse(content=data,content_type='application/json',status=201,)
        return JsonResponse(data=data,content_type='application/json',status=201)

相关文章

  • (三)Django 请求和响应

    view中request是HTTprequest对象,包含前端的所有请求信息,必须返回一个HttpReponse对...

  • Channels概念

    Django的传统概念围绕着HTTP请求和响应展开:服务器收到一个请求,Django调起为其服务,生成响应并发送,...

  • Django高级进阶[DRF](3. 简化

    请求和响应 请求对象(Request objects)拓展了Django自带的HttpRequest REST框架...

  • 中间件

    Django中间件 概念:Django中一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改...

  • 中间件和上下文处理器

    Django中间件(Middleware) 是一个轻量级、底层的“插件”系统,可以介入Django的请求和响应处理...

  • 二、Django 请求和响应

    1.利用HTTP协议向服务器传参有几种途径 提取URL的特定部分,如/weather/beijing/2018,可...

  • 中间件

    Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输...

  • Django-中间件

    Django中的中间件是一个轻量级,底层的插件系统,可以介入django的请求和响应处理过程,修改Django的输...

  • Django前后端分离实践之DRF--04

    一、请求和响应 1. 请求对象(Request objects)拓展了Django自带的HttpRequest R...

  • 2-请求和答复-Django REST框架

    2-请求和答复-Django REST框架 教程2:请求和响应 从现在开始,我们将真正开始讨论REST框架的核心。...

网友评论

      本文标题:(三)Django 请求和响应

      本文链接:https://www.haomeiwen.com/subject/gahouctx.html