2014-02-17 202 views
4

我使用Django的身份驗證視圖django.contrib.auth.views.login來登錄我的用戶。即使用戶已經登錄,也會顯示登錄頁面

urls.py

urlpatterns = patterns('', 
    url(r'^accounts/login/$', 'django.contrib.auth.views.login'), 
) 

Here is the doc關於此功能。

我的問題:即使用戶已連接,也會顯示登錄頁面。

+1

你是否user.is_authenticated禁用登錄頁面? –

回答

0

您可以在自己的視圖中使用contrib登錄視圖進行自己的修改。只要改變登錄URL指向你自己的觀點,然後檢查自己是否已經登錄:


views.py

from django.contrib.auth.views import login as contrib_login 

def login(request): 
    if request.user.is_authenticated(): 
     return redirect(settings.LOGIN_REDIRECT_URL) 
    return contrib_login(request) 
+0

好主意,它可能會工作。但是我應該在哪裏放置文件views.py,因爲它不應該鏈接到我的Django項目中的任何應用程序?我應該創建一個名爲「身份驗證」的應用程序,還是應該在我的my_site目錄(其中settings.py和全局的urls.py直播)中創建views.py文件? – Deneuve

+0

我想這將取決於你。我通常用這樣的東西創建一個'核心'應用程序。 – dgel

相關問題