zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ln 硬链接与软链接
    Fujitsu存储多路径管理
    Ansible 模块详解
    思科光纤交换机9124管理手册
    Fujitsu DX100S3配置方案
    富士通存储的TPP池和SDPV池
    Solaris 10 ZFS文件系统挂载
    经分测试M5000重启进入维护模式
    finally在return之后还是之前运行
    gradle构建
  • 原文地址:https://www.cnblogs.com/mxuanli/p/9816406.html
Copyright © 2011-2022 走看看