• django的response-8


    视图函数在处理请求后,必须返回一个 HttpResponse 对象,或者 HttpResponse对象的子对象。

    1. HttpResponse

    可以通过 django.http.HttpResponse 来构造响应对象,并设置 响应头,响应体,响应体类型,状态码等。

    HttpResponse(content=响应体, content_type=响应体类型, status=状态码)
    

    响应体,状态码等也可以单独设置

    response = HttpResponse()
    response.content = "响应体"
    response.status_code = 200
    

    响应头可以把 HttpResponse 对象当做字典来进行设置。

    response = HttpResponse()
    response[响应头key] = 响应头值
    

    示例:

    def response_view(request):
        response = HttpResponse()
        response.content = "响应体"
        response.status_code = 200
        response['name'] = 'xuanli'
        return response
    

    响应结果

    Body:响应体
    Headers:name →xuanli
    
    def response_view2(request):
        return HttpResponse(content="响应体", status=200)
    

    响应结果

    Body:响应体
    

    2. HttpResponse的子类

    Django提供了一系列HttpResponse的子类,可以快速设置状态码

    HttpResponseRedirect 301
    HttpResponsePermanentRedirect 302
    HttpResponseNotModified 304
    HttpResponseBadRequest 400
    HttpResponseNotFound 404
    HttpResponseForbidden 403
    HttpResponseNotAllowed 405
    HttpResponseGone 410
    HttpResponseServerError 500
    

    3. JsonResponse

    可以使用 JsonResponse 来快速构造json类型的响应对象,它可以帮助我们把数据转换为json字符串,并把响应头的 Content_typeapplication/json

    from django.http import JsonResponse
    
    def resopnse_json(request):
        return JsonResponse({"name": "xuanli", "age": "18"})
    

    响应结果

    {
        "age": "18",
        "name": "xuanli"
    }
    

    4. 重定向

    使用 redirect 重定向

    def redirect_view(request):
        return redirect('/demo/index')
    

    重定向到 /demo/index

  • 相关阅读:
    规范的html页面
    什么是MVC (模型 视图 控制器)?
    MVC概念
    MVC实用集锦(1)
    三层架构与MVC的区别
    spring-data-jpa的简单介绍
    Spring和SpringMVC的区别
    Spring常用注解汇总
    jmeter---CSV文件设置操作
    Linux----软件包管理
  • 原文地址:https://www.cnblogs.com/mxuanli/p/9816406.html
Copyright © 2020-2023  润新知