在 Django 项目中结合 django-authtools 和 django-allauth
combining django-authtools and django-allauth in a Django project
我有一个集成了 allauth 的 Django (1.8) 项目。现在我想要一个自定义用户模型而不是 auth.user 模型(我知道这是可配置的,但我需要更大的灵活性)。当我按照 django-authtools 安装说明进行操作时,第一步是将以下行添加到 url-patterns,请参阅
https://django-authtools.readthedocs.org/en/latest/intro.html#installation
url(r'^accounts/', include('authtools.urls')),
然而,这个 URL 模式已经被 allauth 应用程序采用(根据其说明,请参阅
http://django-allauth.readthedocs.org/en/latest/installation.html
):
url(r'^accounts/', include('allauth.urls')),
那么我该如何进行呢?
什么 URL 包含额外的模式并不重要,您可以为 allauth 和 authtools 更改 URL,因为 URL 没有在任何地方硬编码,这些应用程序会在需要时自动将其撤消。例如,您可以使用:
url(r'^auth/', include('authtools.urls')),
url(r'^accounts/', include('allauth.urls')),
你也可以在一个 url 前缀上包含两个模式组,但是如果有冲突(例如 allauth 和 authtools 注册 `accounts/login/' URL),django将为 urlconf.
中的第一个条目提供视图
我有一个集成了 allauth 的 Django (1.8) 项目。现在我想要一个自定义用户模型而不是 auth.user 模型(我知道这是可配置的,但我需要更大的灵活性)。当我按照 django-authtools 安装说明进行操作时,第一步是将以下行添加到 url-patterns,请参阅 https://django-authtools.readthedocs.org/en/latest/intro.html#installation
url(r'^accounts/', include('authtools.urls')),
然而,这个 URL 模式已经被 allauth 应用程序采用(根据其说明,请参阅 http://django-allauth.readthedocs.org/en/latest/installation.html ):
url(r'^accounts/', include('allauth.urls')),
那么我该如何进行呢?
什么 URL 包含额外的模式并不重要,您可以为 allauth 和 authtools 更改 URL,因为 URL 没有在任何地方硬编码,这些应用程序会在需要时自动将其撤消。例如,您可以使用:
url(r'^auth/', include('authtools.urls')),
url(r'^accounts/', include('allauth.urls')),
你也可以在一个 url 前缀上包含两个模式组,但是如果有冲突(例如 allauth 和 authtools 注册 `accounts/login/' URL),django将为 urlconf.
中的第一个条目提供视图