如何呈现django allauth模板

如何呈现django allauth模板,django,twitter-bootstrap,templates,django-allauth,Django,Twitter Bootstrap,Templates,Django Allauth,我无法理解为什么我的django allauth模板无法呈现。我将allauth目录复制到我的项目中。我还有一个引导主题的目录应用程序,应该在登录后显示。我希望django allauth的注册和登录表单会显示出来,登录后会重定向到呈现引导主题目录应用程序的模板 在settings.py中,在其他必需的应用程序中,我在已安装的应用程序中的目录应用程序之后添加了django allauth模块 INSTALLED_APPS=['catalog', 'allauth',

我无法理解为什么我的django allauth模板无法呈现。我将allauth目录复制到我的项目中。我还有一个引导主题的目录应用程序,应该在登录后显示。我希望django allauth的注册和登录表单会显示出来,登录后会重定向到呈现引导主题目录应用程序的模板

在settings.py中,在其他必需的应用程序中,我在已安装的应用程序中的目录应用程序之后添加了django allauth模块

INSTALLED_APPS=['catalog',
            'allauth',
            'allauth.account',
            'allauth.socialaccount',
]
将身份验证后端添加为:

AUTHENTICATION_BACKENDS = (
    # Needed to login by username in Django admin, regardless of `allauth`
    "django.contrib.auth.backends.ModelBackend",
    # `allauth` specific authentication methods, such as login by e-mail
    "allauth.account.auth_backends.AuthenticationBackend"
)
在settings.py中,模板目录设置为:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'allauth/templates/account'),os.path.join(BASE_DIR,'catalog/templates/catalog')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'allauth.account.contextprocessors.account',
                'allauth.socialaccount.contextprocessors.socialaccount',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'ecomstore.utils.context_processors.ecomstore',
            ],
        },
    },
]
我让django allauth在登录成功时路由到哪个url。添加
LOGIN\u REDIRECT\u URL='/'

将myproject中的url路由设置为:

urlpatterns = [
        url(r'^accounts/', include('allauth.urls')),             
    ]

如上所述,我的问题是为什么django allauth模板没有呈现?

您缺少一些东西: 在已安装的应用程序中:

'django.contrib.sites',
在此之后,添加一行

SITE_ID = 1
如果在您将这些应用程序放入时仍不起作用,则加载应用程序的顺序可能会出现问题

Allauth还提供了自己的登录、注销和更改密码,请参见

如果要切换模板,可以使用以下标记将allauth模板放入:

{% url 'account_login' %} <!-- Sign In-->
{%url'帐户\登录名'%}
如果需要检查用户是否已登录,可以使用if语句

{% if user.is_active %} <!-- checks if user signed in-->
<!-- Insert code here that appears if signed in-->
{% else%}
<!-- Insert code here to display for users that did not sign in-->
{% endif%}
{%if user.u处于活动状态%}
{%else%}
{%endif%}

最后,如果需要设置模板的样式,可以找到模板。但是您需要创建一个accounts文件夹,并将它们放在其中以覆盖默认文件夹。

您能显示错误吗?@Astikan没有“错误”消息,只是显示的模板应该是django allauth的登录和注册表单,而不是项目(引导)源于目录应用程序的模板。可能模板名称冲突,请尝试更改项目的模板名称。