我試圖讓'/'
重定向到'/first-page'
其中'/first-page'
是一個內置的平板頁與塞第一頁Django的重定向「/」的平面頁
我正在尋找類似
(r'^/', 'redirect_to', {'url': '/flat-page'}),
我試圖讓'/'
重定向到'/first-page'
其中'/first-page'
是一個內置的平板頁與塞第一頁Django的重定向「/」的平面頁
我正在尋找類似
(r'^/', 'redirect_to', {'url': '/flat-page'}),
使用Django的通用視圖
urlpatterns = patterns('django.views.generic.simple',
('^$', 'redirect_to', {'url': '/first-page'}),
)
urlpatterns += patterns('myProject.myApp',
...
)
或
urlpatterns = patterns('',
('^$', 'django.views.generic.simple.redirect_to', {'url': '/first-page'}),
...
)
見the docs更多的信息和例子。
請注意您的網址是否與您的網址匹配,您擁有的網址將匹配以/開頭的任何內容。像example.com //任何東西,請注意雙斜槓。
用於'django.views.generic.simple.redirect_to'的+1,用於''^ $''的+1而不是''^ /''這將匹配所有內容,因此需要最後一次並且會打破404s。 – 2010-12-16 00:18:02
謝謝@Chris,我說的是'r'^ /''會匹配example.com //任何東西而不是'example.com/anything'嗎?我沒有測試過。 - 更新:測試和正確。 – Jake 2010-12-16 00:22:33
對不起,沒有正確思考,你是對的。 – 2010-12-16 01:20:51
在url的視圖中,您可以使用HttpResponseRedirect
。
from django.http import HttpResponseRedirect
def rootview(request):
return HttpResponseRedirect('/flat-page')
使用HttpResponsePermanentRedirect
:
from django.http import HttpResponsePermanentRedirect
# ...
(r'^$', 'redirect_to', lambda request: HttpResponsePermanentRedirect('/flat-page')),
可能重複的[Python + Django頁面重定向](http://stackoverflow.com/questions/523356/python-django-page-redirect) – 2010-12-15 23:57:00
@jleedev:它是重複的,但「最好」的答案有隨後引入了'redirect_to'通用視圖。 – 2010-12-16 00:20:36
@Chris,'redirect_to'在Django 1.0中(http://docs.djangoproject.com/en/1.0/ref/generic-views/#django-views-generic-simple-redirect-to)投票答覆可能的重複。 TSSK。讓我們upvote在那裏的'redirect_to'答案來解決這個嘲諷http://stackoverflow.com/questions/523356/python-django-page-redirect/3841632#3841632;) – Day 2010-12-16 00:32:19