Django框架HttpResponse对象用法实例分析

yipeiwu_com7年前Python基础

本文实例讲述了Django框架HttpResponse对象用法。分享给大家供大家参考,具体如下:

1.HttpResponse

可通过HttpResponse构造响应对象:

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

响应头可以直接将HttpResponse对象当做字典进行响应头键值对的设置:

response = HttpResponse()
response['itcast'] = 'Python' # 自定义响应头Itcast, 值为Python

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

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

2.JsonResponse

JsonResponse来构造响应对象的作用:

(1)帮助我们将数据转换为json字符串

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

用法:

return JsonResponse(dict,safe) (safe默认为True,保证可以将对象转为json,如果为非字典对象,则报错,可设置为False传递非字典对象)

例:

def response(request):
 return JsonResponse({'city': 'beijing', 'subject': 'python'})

3.redirect重定向

return redirect(路径)

4.reverse反解析

reverse可根据路由名称返回路由路径。

用法:

reverse(路由名称)

如果未指明命名空间,路由名称:

namespace:reverse(name)

如果指明命名空间,路由名称:

namespace:reverse(namespace:name)

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

相关文章

Python基于生成器迭代实现的八皇后问题示例

本文实例讲述了Python基于生成器迭代实现的八皇后问题。分享给大家供大家参考,具体如下: 问题:有一个棋盘和8个要放到上面的皇后,唯一的要求是皇后之间不能形成威胁。也就是说,必须把他们...

简单的通用表达式求10乘阶示例

复制代码 代码如下:(lambda x: lambda n: x(x)(n))(lambda f: lambda n: 1 if n == 0 else n*f(f)(n-1))(10)...

Django中提供的6种缓存方式详解

前言 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者m...

在Django的模型和公用函数中使用惰性翻译对象

在模型和公用函数中,使用ugettext_lazy()和ungettext_lazy()来标记字符串是很普遍的操作。 当你在你的代码中其它地方使用这些对象时,你应当确定你不会意外地转换它...

跟老齐学Python之使用Python操作数据库(1)

在上一讲中已经连接了数据库。就数据库而言,连接之后就要对其操作。但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数...