【问题标题】:Django allauth allowed urlsDjango allauth 允许的 url
【发布时间】:2014-12-05 20:27:40
【问题描述】:

我刚开始使用 allauth 的 Django 项目,我配置了基本设置,没有使用任何 3rd 方提供程序。我为我的个人资料页面创建了一个基本模板。到目前为止,一切都按预期工作,但是如果转到 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'

【问题讨论】:

  • 你有什么allauth设置?
  • 您的视图是如何构建的? CBV 还是 FBV?更重要的是,您是否使用任何模板?

标签: python django django-allauth


【解决方案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)。
希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2014-03-03
    • 2010-12-16
    • 2016-10-29
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多