django-allauth配置疑惑

Cau*_*ons 6 python django login django-allauth

我正在使用django-allauth和Django 1.5.1,我在设置时遇到了一些问题:

1.配置 urls.py

文档说您必须将以下内容添加到urls.py文件中:

urlpatterns = patterns('',
    ...
    (r'^accounts/', include('allauth.urls')),
    ...
)
Run Code Online (Sandbox Code Playgroud)

问题是我已经调用了一个自定义应用程序accounts,我已经使用了以下URL模式:

(r'^accounts/', include('accounts.urls')),
Run Code Online (Sandbox Code Playgroud)

所以我在这里使用accounts/正则表达式URL 进行命名冲突.我的问题是:我可以将allauthURL模式重命名为(r'^auth/', include('allauth.urls'))没有问题,或者这样做是不安全的,最好将我自己的URL重命名为(r'^users/', include('users.urls'))(并将我的帐户应用程序重命名为用户以获得命名一致性).

2.自定义allauth默认模板

自定义登录等默认模板的正确方法是什么?我认为直接修改库不是最好的方法.我想它应该通过templates目录使用一些具体的目录层次结构来完成.另外,我不知道是否base.html必须提供某种文件来覆盖这些模板,或者base.html可以毫无问题地使用所有页面扩展的网站.你能用这个来说明我吗?

3.管理员登录表单在第一次访问时显示登录和注销

当我在一些登录和注销后访问管理面板时,会显示历史记录,但如果我刷新页面则会消失.我认为这必须与django消息有关:

管理员登录

4.设定 SOCIALACCOUNT_PROVIDERS

字典设置是SOCIALACCOUNT_PROVIDERS可选的还是必须设置?

5.当用户使用第三方应用登录时,如何计算密码?

创建用户时,它有一个密码,但是如何计算?并且...它是否有用或者它只是这个必填字段的占位符?用户可以使用它进行本地登录吗?

谢谢!

pen*_*rsr 14

关于1):

  • 只要完全匹配的URL模式中没有重叠,就不会发生冲突.例如:如果您的帐户应用与"/ accounts/login /"匹配,那么确实存在冲突,因为allauth也在为该URL进行攻击.但是,如果您的帐户应用只是将其他网址与/ accounts /作为前缀匹配,那么您就可以了.

  • 如果您坚持,您确实可以将allauth URL放在不同的路径下.allauth使用基于名称的URL反转,因此将自动拾取新路径前缀.

至于2):

3):allauth使用Django消息框架.请参阅:https: //docs.djangoproject.com/en/dev/ref/contrib/messages/#expiration-of-messages - 如果您不迭代这些消息以显示它们,它们就不会过期.显然,您没有在模板中显示消息.因此,它们会堆积起来直到管理员出现,这会呈现(并清除)到目前为止收集的所有消息...

4)可选

5)没有密码设置,这意味着用户只能使用第三方帐户登录,直到他实际设置密码(/ accounts/password/set /).