如何覆盖Django-allauth提供的默认模板?

时间:2016-02-22 16:27:48

标签: django django-templates django-allauth

我创建了 myapp / templates / account / base.html myapp / templates / account / login.html ,所以我认为应该更改模板。但是转到/ account / login仍会加载默认模板而不是我的新模板。那我怎么实际超越他们呢?

我在 settings.py

中有此功能
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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` needs this from django
                'django.template.context_processors.request',
            ],
        },
    },
]

任何帮助?

2 个答案:

答案 0 :(得分:0)

尝试将根目录添加到DIRS设置:

'DIRS': os.path.join(PROJECT_ROOT, 'templates'),

答案 1 :(得分:0)

我将它们放在模板文件夹根目录中的account和/或socialaccount中,以覆盖它们。 (可选)使用名为allauth

的父文件夹

你的结构看起来像:

  • 模板
    • 帐户
    • socialaccount

  • 模板
    • allauth
      • 帐户
      • socialaccount

可以在https://github.com/pennersr/django-allauth/tree/master/allauth/templates

找到原始模板