美文网首页
(三)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 请求和响应

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