2014-12-05 115 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)。
希望这可以帮助你。