Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django allauth配置怀疑_Python_Django_Login_Django Allauth - Fatal编程技术网

Python django allauth配置怀疑

Python django allauth配置怀疑,python,django,login,django-allauth,Python,Django,Login,Django Allauth,我正在使用Django 1.5.1,在设置它时我有几个问题: 1。配置url.py 文档说明您必须将以下内容添加到url.py文件中: urlpatterns = patterns('', ... (r'^accounts/', include('allauth.urls')), ... ) 问题是我已经有了一个名为accounts的定制应用程序,并且我已经使用了以下URL模式: (r'^accounts/', include('accounts.urls')), 因

我正在使用Django 1.5.1,在设置它时我有几个问题:

1。配置
url.py

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

urlpatterns = patterns('',
    ...
    (r'^accounts/', include('allauth.urls')),
    ...
)
问题是我已经有了一个名为
accounts
的定制应用程序,并且我已经使用了以下URL模式:

(r'^accounts/', include('accounts.urls')),
因此,我在这里与
accounts/
regex URL有命名冲突。我的问题是:我可以将
allauth
URL模式重命名为
(r'^auth/,include('allauth.URL'))
而不出现问题,还是这样做不安全,最好将我自己的URL重命名为
(r'^users/',include('users.URL'))
(并将我的帐户应用程序重命名为用户,以确保命名一致性)

2。自定义所有默认模板

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

3。管理员登录表单显示首次访问时的登录和注销

当我在一些登录和注销后访问管理面板时,历史记录会出现,但如果我刷新页面,它就会消失。我认为这一定与django的信息有关:

4。设置
SOCIALACCOUNT\u提供者

名为
SOCIALACCOUNT\u PROVIDERS
的字典设置是可选的还是必须设置

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

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

谢谢

关于1):

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

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

至于第二项:

  • allauth模板没有什么特别之处。您可以像覆盖任何其他Django应用程序一样覆盖它们

  • 看看示例应用程序。它同时具有引导和统一模板覆盖。可以通过取消注释此行来启用它们:

  • 所有allauth模板都继承自名为
    base.html
    的基础模板。我希望您的项目也有一个基本模板。用您的重写
    base.html
    ,或者用扩展自
    yourbase.html
    的模板重写
    base.html

3) :allauth使用Django消息框架。见: --如果不迭代消息以显示它们,则它们不会过期。显然,您没有在模板中显示消息。因此,它们会堆积起来,直到出现管理员,管理员会呈现(并清除)到目前为止收集的所有消息

4) 可选的


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

感谢@pennersr的快速响应!我在这里不会有问题。关于2)我已经在示例项目中设置了模板,但我有一个疑问:
connections.html
signup.html
都继承自
socialaccount/base.html
,但是我在socialaccount中看不到该模板,我在account中看到了它。我不明白。更重要的是,我用更多的疑问更新了我的问题。你能帮我一下吗?感谢您与我们共享此库!:)示例项目将覆盖某些模板,而不是全部模板
socialaccount/base.html
未被覆盖,因此您在那里找不到它。顺便说一句,更新答案以反映新问题…嗨@pennersr,再次感谢!3、4、5号都可以。关于2(模板):我已经设置好了,它正在工作,但是我不明白为什么
connections.html
signup.html
从一个“不存在”的模板(socialaccount/base.html)扩展而来的
connections.html和
signup.html
会正确呈现。对于这些,哪一个是“默认”的?我已经更新了
account/base.html
来扩展我的自定义base
layout.hml
,并用allauth引导模板中定义的块更新了这个。再次感谢!:)模板确实存在--请看这里:这正是我要找的。谢谢你的回答,我给你25个代表(接受+投票)来感谢你!