2012-06-14 120 views
3

我正在Django中製作一個自定義管理頁面。我不想重新發明輪子,因此想要使用Django管理員登錄表單爲員工登錄並將其重定向到/ my-url /之後。django admin登錄後重定向到另一個頁面

但是,我找不到在/ admin /成功登錄後將用戶重定向到自定義URL的方式。

+0

如果你要的要重定向登錄**/admin/**的用戶,他們必須再次訪問/ admin以進入**/admin/**,如果他們想要的話?你可能應該使用** user_passes_test(lambda u:u.is_staff)來裝飾自定義視圖** –

+0

我希望他們在/ admin /登錄,之後被重定向到,例如/ my-url/ – aemdy

+0

我會如果您試圖將管理保留在一個地方,請擴展管理網址和/或模板。 –

回答

1

在您的settings.py文件中設置LOGIN_REDIRECT_URL。已記錄here

+4

這不適用於django.contrib.admin – aemdy

2

Django身份驗證應用程序附帶login view,您可以連接/accounts/login/或您選擇的任何其他網址。如果你不想自己寫,你可以使用管理員的登錄模板admin/login.html

通過使用登錄視圖,LOGIN_REDIRECT_URL參數將起作用。 /admin/頁面的目的是顯示管理員索引。我會避免嘗試使用它作爲登錄頁面。

5

我有同樣的問題。 相反重定向登錄後,我用了@staff_member_required裝飾 對我的看法/my-url/其重定向到管理員登錄

from django.contrib.admin.views.decorators import staff_member_required 

@staff_member_required 
def test_list(request): 
    return HttpResponse('TEST') 

如果基於類的觀點是用來檢查出method_decorator

+0

超級有用的裝飾,謝謝 – Philip007

+0

@Daniel Backman,我知道這是舊的,但是當你使用基於類的視圖時,你會如何使用這種方法? – mlwn

+1

@mlwn檢查此:https://docs.djangoproject.com/en/1.10/topics/class-based-views/intro/#decorating-class-based-views –