'''HttpResponse子类HttpResponseRedirect重定向
urls.py:
url(r'^redirect1/$', views.redirect1),
url(r'^redirect2/$', views.redirect2),
views.py:
# 重定向方法1
from django.http import HttpResponseRedirect
def redirect1(request):
import time
time.sleep(2)
return HttpResponseRedirect('/redirect2/')
def redirect2(request):
return HttpResponse('#########')
# 重定向方法2
from django.shortcuts import redirect
def redirect1(request):
import time
time.sleep(2)
return redirect('/redirect2/')
def redirect2(request):
return HttpResponse('#########')
'''
'''HttpResponse子类JsonResponse用于异步请求,返回json数据
HttpRequest对象方法:
is_ajax():如果是通过XMLHttpRequest发起的请求返回True
urls.py:
url(r'^redirect1/$', views.redirect1),
url(r'^redirect2/$', views.redirect2),
views.py:
from django.http import JsonResponse
def json_resp(request):
if request.is_ajax(): # 判断是不是ajax请求
jr = JsonResponse({}) # 接受一个JSON数据类型的对象
return
JsonResponse中__init__(self, data),其中data是一个json类型对象,Content-type为application/json
'''
"""
1. HttpResponseRedirect:默认响应状态码为 301
2. HttpResponsePermanentRedirect:默认响应状态码为 302
3. HttpResponseNotModified:默认响应状态码为 304
4. HttpResponseBadRequest:默认响应状态码为 400
5. HttpResponseNotFound:默认响应状态码为 404
6. HttpResponseForbidden:默认响应状态码为 403
7. HttpResponseNotAllowed:默认响应状态码为 405
8. HttpResponseGone:默认响应状态码为 410
9. HttpResponseServerError:默认响应状态码为 500
10.JsonResponse:
# 反向解析:reverse('blog:article_list')='/index/'
https://blog.csdn.net/geerniya/article/details/79021784?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-79021784-blog-123756902.235%5Ev29%5Epc_relevant_default_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-79021784-blog-123756902.235%5Ev29%5Epc_relevant_default_base3&utm_relevant_index=2
# return HttpResponseRedirect('/register/')
return HttpResponseRedirect('http://127.0.0.1:8000/register/')
# return HttpResponseRedirect(reverse('reg')) # 反向解析
"""