Django 프로젝트의 "animals"에는 "birds"라는 앱이 있습니다. 이 같은 동물에서 /은 "새"의 URI가 새로 연결됩니다 urls.py를/urls.py :Django 프로젝트의 app URI에 대한 별칭 urls.py
urlpatterns=[
url(r'^birds/', include('birds.urls')),
url(r'^b/', include('birds.urls')), # alias
]
은 "새 /"공식이며, 영구적 기본 URI; "b /"는 바로 가기/별칭으로 허용됩니다.
"b/penguin"을 입력 할 수 있지만 브라우저의 주소 표시 줄에 "새"가 표시되도록 "birds /"로 리디렉션되는 "영구적 인"b/URI를 어떻게 가질 수 있습니까?/펭귄 "? 프로젝트에서 URI를 앱에 매핑하는 방법을 알지 않아야하므로 "새"앱에서 코드를 건드리지 않는 것이 좋습니다.
나는
RedirectView.as_view(pattern_name='birds'))
를 사용하려고했지만이 410 사라 응답 결과. 및
RedirectView.as_view(url='/birds/'))
리디렉션/b/펭귄/birds /, 내 새를 죽입니다.
이것은 나를 위해 (장고 버전 1.9.5) 작동합니다. 브라우저는 초기'/ b/penguin' 요청이 Django에서'/ birds/penguin' 위치 헤더와 함께'302 Found' 상태 응답을 얻는 것을 기록합니다. 그러면 브라우저는 두 번째/새/펭귄 요청을 '200 OK'로 만듭니다. Django가'302 Found' 대신'301 Moved Permanently'을 리턴하도록'permanent = True' 속성을 추가했습니다. – Roger