2017-09-10 69 views
1

我正在用Django 1.11編寫應用程序。Django redirect_authenticated_user:True不起作用

myapp/urls.py圖案看起來像

from django.conf.urls import url, include 
from django.contrib import admin 
from django.contrib.auth.views import LoginView 

urlpatterns = [ 
    url(r'^login/$', LoginView.as_view(), {'redirect_authenticated_user': True}), 
    url('^', include('django.contrib.auth.urls')), 
    url('^', include('pages.urls')), 
    url(r'^pages/', include('pages.urls')), 
    url(r'^search/', include('search.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

我想登錄的用戶試圖訪問/login頁面時被重定向。對於我已redirect_authenticated_userTrue按在文檔here

給予但是,當我全成登錄後訪問/login,它不會重定向

回答

2

它傳遞給as_view

urlpatterns = [ 
    url(r'^login/$', LoginView.as_view(redirect_authenticated_user=True)), 

傳遞給as_view()的任何參數都會覆蓋在該類上設置的屬性。在這個例子中,我們在TemplateView上設置了template_name。類似的重寫模式可以用於RedirectView的url屬性。

Simple usage in your URLconf

+0

感謝,它的工作 –