将自定义的django-allauth模板移动到“帐户”以外的目录

时间:2016-12-14 15:17:25

标签: django django-templates django-allauth

我按照项目文档正确设置了django-allauth。我想覆盖django-allauth模板的外观,所以我去了项目github并将the django-allauth templates folder下载到我的accountsapp/templates目录中。

我的问题是django-allauth只会在templates/account文件夹中查找其模板。

我想将模板放在templates/allauth/account文件夹中,以帮助将我的模板文件与django-allauth的模板文件分开。

执行此操作时,django-allauth无法找到我自定义的模板。

这是我的项目结构:

projectfolder/
    accountsapp/
        templates/

    projectsettings/
        settings.py
    manage.py

我尝试了什么:

  1. 将我的TEMPLATES 'DIRS'设为此

    'DIRS': [ os.path.join(os.path.dirname(BASE_DIR), 'accountsapp', 'templates', 'allauth'), ],
    

    BASE_DIR为:BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))。 这有效,但我不确定这是解决我问题的最佳做法/解决方案。

1 个答案:

答案 0 :(得分:1)

如果您将模板放在projectfolder/accountsapp/templates/中,那么只要您的模板设置中有'APP_DIRS': True,应用程序目录加载程序就会找到它们。

但是,如果将模板移动到projectfolder/accountsapp/templates/allauth子文件夹中,那么应用程序目录加载器将无法找到它们,因此您必须将目录添加到DIRS,就像您已经完成的那样。 / p>