Djangoには様々なリダイレクト方法があります.
4750 ワード
本論文では、HttpRespnseRedirect、redirect、reverse、および設定ファイルにURLを設定するなどのリダイレクト方法について説明します.
本論文では、Django 1.8.2使用シーンを使用して、例えばフォーム1にデータを提出した後、別の指定されたページに戻る必要がある場合、リダイレクト方法を使用することができる.
一、HttpRespnseRedirect●Fhao The first argment to the construct is required–the path to redirect to.This can be a fully qualified URL or an absoute path with no domainを使用します.」パラメータは絶対パスと相対パスであることができます.
本論文では、Django 1.8.2使用シーンを使用して、例えばフォーム1にデータを提出した後、別の指定されたページに戻る必要がある場合、リダイレクト方法を使用することができる.
一、HttpRespnseRedirect●Fhao The first argment to the construct is required–the path to redirect to.This can be a fully qualified URL or an absoute path with no domainを使用します.」パラメータは絶対パスと相対パスであることができます.
from django.http import HttpResponseRedirect
@login_required
def update_time(request):
# OR
return HttpResponseRedirect('/') #
#
return HttpResponseRedirect('/commons/index/?message=error')
二redirectとreversefrom django.core.urlresolvers import reverse
from django.shortcuts import redirect
#https://docs.djangoproject.com/en/1.8.2/topics/http/shortcuts/
@login_required
def update_time(request):
#
return redirect(reverse('test.views.invoice_return_index', args=[])) # index
redirect HttpResponseRedirect , url /..index/?a=add
reverse views ,args url 。
三、その他# url
from django.views.generic.simple import redirect_to
url (r'^test/$', redirect_to, {'url': '/author/'}),
# session
request.session['error_message'] = 'test'
redirect('%s?error_message=test' % reverse('page_index'))
# , url。
四番目# , , views url , 。
# view baseinfo_account, url( view blance_account) baseinfo_account。
#url :
urlpatterns = patterns('',
url(r'^index/', 'account.views.index_account'),
url(r'^blance/', 'account.views.blance_account'),
)
# views.py
@login_required
def index_account(request, args=None):
# url ,
if args:
print args
return render(request, 'accountuserinfo.html', {"user": user})
@login_required
def blance_account(request):
return index_account(request, {"name": "orangleliu"})
# :
#1 /index ( ok)
#2 /blance /index , ( ok, /index url /blance)
# 。