我刚开始使用allauth的Django项目,我配置了基本设置,而没有使用任何第三方提供商。我为自己的个人资料页面创建了一个基本模板。到目前为止,一切都按预期工作,但如果转到localhost:8000 / accounts / profile我甚至可以在没有登录之前看到该页面。我试图在文档中查看如何定义哪个页面需要登录但我还没找到任何内容。
有什么想法? 谢谢!
修改 这些是我的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 :(得分:1)
实现目标的一种可能方法是装饰处理您的个人资料页面的视图'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)。
希望这会对你有所帮助。