2014-12-05 113 views
1

我剛剛開始使用allauth的Django項目,我配置了基本設置,不使用任何第三方提供程序。我爲我的個人資料頁面創建了一個基本模板。到目前爲止,一切都按預期工作,但如果轉到localhost:8000/accounts/profile,即使沒有登錄,我也可以看到該頁面。我試圖查看文檔中如何定義哪些頁面應該需要登錄,但我沒有找到任何東西。Django allauth允許的網址

有什麼想法? 謝謝!

編輯 這些都是我allauth設置:

#Allauth Config 
ACCOUNT_AUTHENTICATION_METHOD = 'email' 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_UNIQUE_EMAIL = True 
ACCOUNT_USERNAME_REQUIRED = False 
ACCOUNT_SIGNUP_FORM_CLASS = 'picturesApp.forms.SignupForm' 
ACCOUNT_EMAIL_VERIFICATION = 'none' 
+0

你有什麼allauth設置? – ferrangb 2014-12-13 10:56:21

+0

您的觀點如何建立? CBV還是FBV?更重要的是,你使用任何模板? – lordB8r 2015-04-09 16:23:55

回答

1

一種可能的方式做你想要的是裝飾處理您的個人資料頁面woth視圖「login_required」裝飾。

實施例:

from django.contrib.auth.decorators import login_required 
urlpatterns = patterns('', 
    # MY PROFILE 
    url(r'^$', 
     login_required(MyProfileDetailView.as_view()), 
     name="my_profile" 
    ) 
) 

這個裝飾驗證用戶登錄,否則返回一個重定向的HTTP響應(到登錄URL)。
希望這可以幫助你。