HttpResponse和JsonResponse

Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数。那么视图函数在处理完相关的逻辑后,也需要返回一个响应给浏览器。而这个响应,我们必须返回HttpResponseBase或者他的子类的对象。而HttpResponse则是HttpResponseBase用得最多的子类。

常用属性及其含义:

  1. content:返回的内容。
  2. status_code:返回的HTTP响应状态码。

    def index(request):
        response.content=‘wanrou‘  #相当于response = HttpResponse(‘wanrou‘)
        response.status_code=400   #设置错的HTTP响应状态码  在network中查看
        return response
  3. content_type:返回数据MIME媒体类型(简称MIME类型)默认是text/html。常见得content-type类型如下:

    text/html(默认的,html文件)

    text/plain(纯文本)

    text/css(css文件)

    text/javascript(js文件)

    multipart/form-data(文件提交)

    application/json(json传输)

    application/xml(xml文件)

  4. 设置请求头:response[‘X-Access-Token‘] = ‘xxx‘

常用方法:

  1. set_cookie:用来设置cookie信息.
  2. delete_cookie:用来删除cookie信息
  3. write:HttpResponse是一个类似于文件的对象,可以用来写入数据到数据中

    def index(request):
        response = HttpResponse(‘hello‘)
        response.write(‘everyone‘)
        return response

JsonResponse

把对象dump成json字符转,然后返回将json字符串封装成Response对象返回给浏览器。

from django.http import JsonResponsedef index(request):    a=JsonResponse({"username":"wanrou","age":18})    print(a.get(‘content-type‘))          #此时结果为application/json    return a

他的对象只能是字典,如果要给给字典数据进行jump,需要增加safe=False参数

from django.http import JsonResponse
def index(request):
    persons = [‘张三‘,‘李四‘,‘王五‘]
    return HttpResponse(persons,safe=False)   #如果不增加safe=False网页会报错

原文地址:https://www.cnblogs.com/DRY-9916/p/12266245.html

时间: 2024-10-11 17:26:02

HttpResponse和JsonResponse的相关文章

django之HTTPResponse和JsonResponse详解

HttpResponse对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响应给浏览器.而这个响应,我们必须返回HttpResponseBase或者他的子类的对象.而HttpResponse则是HttpResponseBase用得最多的子类.那么接下来就来介绍一下HttpResponse及其子类. 常用属性: content:返回的内容. status_code:返回的HT

Django HttpResponse与JsonResponse对象

一:HttpResponse对象介绍 前面一节课讲到的HttpRequest用于接受客户端发送到服务器的内容,封装成一个HttpRequest对象: 那么服务器视图函数在处理相关逻辑后,也需要返回给我们的客户端. HttpResponseBase或者它的子类就是返回给客户端的对象:而HttpResponse则是HttpResponseBase用得最多的子类: 二:HttpResponse常用属性 1. content:返回的内容. 2. status_code:返回的HTTP响应状态码. 3.

Django HttpResponse与JsonResponse

本文链接:https://blog.csdn.net/mr_hui_/article/details/86498509 我们编写一些接口函数的时候,经常需要给调用者返回json格式的数据,那么如何返回可直接解析的json格式的数据呢? 首先先来第一种方式: from django.shortcuts import render from django.http import HttpResponse,JsonResponse import json # Create your views her

django创建一个简单的web站点

一.新建project 使用Pycharm,File->New Project-,选择Django,给project命名 (project不能用test命名) 新建的project目录如下: settings.py:工程相关的配置 urls.py:网站访问入口,对应到views wigs.py:部署相关 manage.py:执行命令 templates:html等静态文件 备注:新建工程后需要安装django的lib包,然后验证django是否安装成功 >>> import dja

第8月第12天 python json.dumps

1.json.dumps return JsonResponse({ 'status': WechatMessage.POST_METHOD_REQUIRED[1], 'status_code': WechatMessage.POST_METHOD_REQUIRED[0] }) import json from django.shortcuts import HttpResponse def JsonResponse(params): return HttpResponse(json.dumps

Serializers 序列化组件

为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化. 接下来我们看下django序列化和rest_framework序列化的对比~~ Django的序列化方法 # 第一版 用values以及JsonResponse实现序列化(发现就简单的数据拿出来还这么费劲) class BookView(View): def get(self,

django常见问题

1 列举Http请求中常见的请求方式 HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 注意: 1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed):当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented). 2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是

views 视图层

1.request对象 method:请求方式 GET:get请求的参数(post请求,也可以携带参数) POST:post请求的参数(本质是从bdoy中取出来,放到里面了) COOKIES--->后面讲 META:字典(放着好多东西,前端传过来的,一定能从其中拿出来) body:post提交的数据 path:请求的路径,不带参数 request.get_full_path() 请求路径,带参数 session---后面讲 user---后面讲 FILES encoding:编码格式 is_aj

django rest_framework Serializers 序列化组件

为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化. 接下来我们看下django序列化和rest_framework序列化的对比~~ Django的序列化方法 class BooksView(View): def get(self, request): book_list = Book.objects.values("id&quo