13-Django-基础篇-HttpResponse对象
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13-Django-基础篇-HttpResponse对象相关的知识,希望对你有一定的参考价值。
HttpResponse对象
前言
- 本篇来学习Django中的HttpResponse对象
HttpResponse
- 可以使用django.http.HttpResponse来构造响应对象。
HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)
- content:表示返回的内容。
- status_code:返回的HTTP响应状态码。
- 响应头可以直接将HttpResponse对象当做字典进行响应头键值对的设置
response = HttpResponse()
response[‘name’] = ‘小白’ # 自定义响应头name, 值为小白
# urls.py
from book01.views import resp
urlpatterns = [
path('rsp/', resp),
]
# views.py
from django.http import HttpResponse,
def resp(request):
rsp = HttpResponse('大家好,我是测试小白!')
rsp.status_code = 200 # 设置响应状态码
rsp['age'] = 28 # 设置响应头
return rsp
- postman请求 http://127.0.0.1:8000/book01/rsp/
HttpResponse子类
- Django提供了一系列HttpResponse的子类,可以快速设置状态码
- HttpResponseRedirect 301
- HttpResponsePermanentRedirect 302
*HttpResponseNotModified 304- HttpResponseBadRequest 400
- HttpResponseNotFound 404
- HttpResponseForbidden 403
- HttpResponseNotAllowed 405
- HttpResponseGone 410
- HttpResponseServerError 500
def resp(request):
rsp = HttpResponse('大家好,我是测试小白!')
# rsp.status_code = 200 # 设置响应状态码
rsp.status_code = HttpResponseRedirect.status_code
rsp['age'] = 28 # 设置响应头
return rsp
- 返回302 状态码
JsonResponse
- 若要返回json数据,可以使用JsonResponse来构造响应对象,作用:
- 帮助我们将数据转换为json字符串
- 设置响应头Content-Type为application/json
# urls.py
urlpatterns = [
path('rsp1/', resp1),
]
# views.py
def resp1(request):
return JsonResponse('city': '北京', 'name': '小白', 'age': 28)
redirect重定向
# urls.py
urlpatterns = [
path('rsp2/', resp2),
]
# views.py
from django.shortcuts import redirect
def resp2(request):
# 重定向到我的博客首页
return redirect('https://blog.csdn.net/IT_heima')
- 访问: http://127.0.0.1:8000/book01/rsp2/ 重定向到我的博客首页
以上是关于13-Django-基础篇-HttpResponse对象的主要内容,如果未能解决你的问题,请参考以下文章