답변:
Django 1.4 또는 1.5를 사용하는 경우 다음을 수행 할 수 있습니다.
from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(url=reverse_lazy('my_named_pattern'), permanent=False)),
...
Django 1.6 이상인 경우 다음을 수행 할 수 있습니다.
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(pattern_name='my_named_pattern', permanent=False)),
...
Django 1.9에서는 기본값 permanent
이 True에서 False로 변경되었습니다. 이 때문에 permanent
키워드 인수를 지정하지 않으면 다음 경고가 표시 될 수 있습니다.
Django 1.9에서 'RedirectView.permanent'의 기본값은 True에서 False로 변경됩니다. 이 경고를 끄려면 명시적인 값을 설정하십시오.
(r'^.*/$', RedirectView.as_view(url='http://newurl.com')),
pattern_name
인수를 전달 RedirectView
하면 역순 으로 실행됩니다. 다른 유용한 매개 변수는 permanent
및을 포함query_string
합니다.
이것은 나를 위해 작동합니다.
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(url='/')),
...
위의 예 '/'
에서 URL 패턴을 추가 할 수있는 색인 페이지로 리디렉션됨을 의미합니다.
RedirectView
이 permanent=True
장고의 이전 버전에서 기본으로하고, permanent=False
장고 버전> = 1.9에서 기본값으로.
장고 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),
]
permanent=False
기본값입니다. 자세한 내용은 다음을 참조하십시오 : docs.djangoproject.com/en/2.1/topics/http/shortcuts/#redirect developer.mozilla.org/en-US/docs/Web/HTTP/…