博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 参数对象一起封装成json_0基础掌握Django框架(29)HttpResponse对象
阅读量:6903 次
发布时间:2019-06-27

本文共 1341 字,大约阅读时间需要 4 分钟。

7dec07ea637ee577b550fe6bc12c3385.png

为了更好的学习效果,请搭配视频教程一起学习:

Django零基础到项目实战 - 网易云课堂​study.163.com

HttpResponse对象

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

常用属性:

  1. content:返回的内容。
  2. status_code:返回的HTTP响应状态码。
  3. content_type:返回的数据的MIME类型,默认为text/html。浏览器会根据这个属性,来显示数据。如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一个纯文本。常用的Content-Type如下:
  • text/html(默认的,html文件)
  • text/plain(纯文本)
  • text/css(css文件)
  • text/javascript(js文件)
  • multipart/form-data(文件提交)
  • application/json(json传输)
  • application/xml(xml文件)
  1. 设置请求头:response['X-Access-Token'] = 'xxxx'

常用方法:

  1. set_cookie:用来设置cookie信息。后面讲到授权的时候会着重讲到。
  2. delete_cookie:用来删除cookie信息。
  3. write:HttpResponse是一个类似于文件的对象,可以用来写入数据到数据体(content)中。

JsonResponse类:

用来对象dumpjson字符串,然后返回将json字符串封装成Response对象返回给浏览器。并且他的Content-Typeapplication/json。示例代码如下:

from django.http import JsonResponsedef index(request):    return JsonResponse({"username":"zhiliao","age":18})

默认情况下JsonResponse只能对字典进行dump,如果想要对非字典的数据进行dump,那么需要给JsonResponse传递一个safe=False参数。示例代码如下:

from django.http import JsonResponsedef index(request):    persons = ['张三','李四','王五']    return HttpResponse(persons)

以上代码会报错,应该在使用HttpResponse的时候,传入一个safe=False参数,示例代码如下:

return HttpResponse(persons,safe=False)

为了更好的学习效果,请搭配视频教程一起学习:

Django零基础到项目实战 - 网易云课堂​study.163.com

转载地址:http://toodl.baihongyu.com/

你可能感兴趣的文章
asp.net MVC 路由
查看>>
现代汉语常用字与国标一级字的比较
查看>>
vim使用技巧
查看>>
myeclipse中无自动提示
查看>>
Eclipse启动多个Android模拟器
查看>>
浅谈 System.Decimal 结构
查看>>
限制EditControl控件的输入字符数量
查看>>
2013年3月7日星期四开发中遇到的几个前端问题
查看>>
string 是值类型,还是引用类型(.net)
查看>>
group by的测试
查看>>
ASP.NET 学习笔记_04 Session、http、web开发原则、xss漏洞
查看>>
一个distinct问题引发的思考
查看>>
serialVersionUID作用
查看>>
Matlab自定义安装的工具箱选项
查看>>
利用bentley view将Revit模型输出为3D PDF文档
查看>>
Log4j配置详解
查看>>
nodejs 笔记
查看>>
优化网站设计(十):最小化JAVASCRIPT和CSS
查看>>
hdu 2516(斐波那契博弈)
查看>>
Ext.Net动态构建树-TreePanel使用详解
查看>>