zoukankan      html  css  js  c++  java
  • django返回响应对象

    Django的视图必须要返回一个HttpResponse对象(或者其子类对象),不能像flask一样直接返回字符串。

    Django:

    return HttpResponse("Hello")

    Flask:

    return "Hello"

    1.HttpResponse:

    (1)构造响应对象

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

    MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型:

    • text/html html
    • text/plain 普通文本
    • application/json json

    • ...

      content_type 不指定默认值为:text/html; charset=utf-8

    (2)响应头设置:为HttpResponse对象设置响应头

    response = HttpResponse('响应内容')

    response['id'] = 'abcd'    # 自定义响应头

     

    2.JsonResponse对象

    JsonResponse是HttpResponse的子类。

    JsonResponse有两个功能:

    (1)将数据转换为json字符串,再返回给客户端

    (2)自动设置响应头Content-Type为application/json

    示例:

    def index(request):
        a = {"id":123,"category":999}
        return JsonResponse(a)

    同样的,JsonResponse也可以接受非字典数据,只需要指定safe=False即可。

    def index(request):
        a = "123"  # 列表也可以
        return JsonResponse(a,safe=False)

    除了JsonResponse,Django还提供了很多子类,可以快递设置状态码。这里就不一一说了。

    • HttpResponseRedirect 302
    • HttpResponseNotModified 304
    • HttpResponseBadRequest 400
    • HttpResponseNotFound 404
    • HttpResponseForbidden 403
    • HttpResponseNotAllowed 405
    • HttpResponseServerError 500
  • 相关阅读:
    SQLyog快捷键
    程序员常用工具下载地址及方式
    mysql基础命令
    Excel常用快捷键
    PS快捷键
    MySQL安装及配置
    Excel常用公式
    数据库函数
    mysql update语句的用法
    MySQL使用存储过程批量更新数据库所有表某个字段值
  • 原文地址:https://www.cnblogs.com/chichung/p/9879538.html
Copyright © 2011-2022 走看看