在Django中,如何直接从urls.py执行简单的重定向?当然,我是一个有条理的人,喜欢DRY原则,所以我想根据它的命名url模式来获得目标,而不是硬编码url。
发布于 2015-12-16 19:06:34
这对我很有效。
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(url='/')),
...
在上面的例子中,'/'
意味着它将重定向到索引页面,在那里你也可以添加任何url模式。
发布于 2018-09-03 20:24:56
对于django v2+
from django.contrib import admin
from django.shortcuts import redirect
from django.urls import path, include
urlpatterns = [
# this example uses named URL 'hola-home' from app named hola
# for more redirect's usage options: https://docs.djangoproject.com/en/2.1/topics/http/shortcuts/
path('', lambda request: redirect('hola/', permanent=False)),
path('hola/', include("hola.urls")),
path('admin/', admin.site.urls),
]
发布于 2015-02-26 20:35:15
如果您不支持RedirectView,则在旧版本的django中支持这种方式
在view.py中
def url_redirect(request):
return HttpResponseRedirect("/new_url/")
在url.py中
url(r'^old_url/$', "website.views.url_redirect", name="url-redirect"),
您可以使用HttpResponsePermanentRedirect
将其设置为永久性的
https://stackoverflow.com/questions/15706489
复制相似问题