在密码重置视图中,自定义模板未加载?

时间:2017-06-13 05:08:47

标签: python django

enter image description here我正在通过django中的custum模板处理休息密码,但是每次加载/ password_reset / url时,自定义模板没有加载它是加载django的默认模板。

我正在使用网址

 url('^', include('django.contrib.auth.urls')),

我在模板中有一个注册文件夹,并使用此链接工作 https://simpleisbetterthancomplex.com/tutorial/2016/09/19/how-to-create-password-reset-view.html

,模板文件夹为:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 ],

        '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',
                "cms.utils.context_processors.permission_based_hidding_of_sidebar",
            ],
            'libraries':{
                'template_tag': 'cms.templatetags.template_tag',
                'template_tag_time': 'cms.templatetags.tags',
            }
        },
    },
]

在设置中安装应用: -

INSTALLED_APPS = [
    'cms',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_extensions',
    'django_csv_exports',
    'django.contrib.auth',
    'django.contrib.admin',


]

3 个答案:

答案 0 :(得分:1)

请在下面查看我的评论。当然,您可以修改它并删除分发库中的表单。非常非常调皮。更好的解决方案是更改在设置文件中加载应用的顺序。最初我有:

INSTALLED_APPS = ['django.contrib.auth','ana_access',]

我刚刚更改了此设置,因此我的应用程序先加载了。还有做到了。

INSTALLED_APPS = ['ana_access','django.contrib.auth',]

结论:如果您仍然看到默认页面DESPITE在您的template / registration文件夹中有该表单,则可能是因为您在自己之前加载了默认django.contrib.auth应用。

答案 1 :(得分:0)

如果要覆盖Django管理模板,则需要在模板目录中创建admin文件夹。并将所有管理员的文件和文件夹放在那里......

templates
|__ admin
    |__ registration

更新:还请更正TEMPLATES DIR应该是

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

答案 2 :(得分:0)

Django 3.0。 2020年。我通过在项目目录中添加template / registration / *。html解决了该问题。这解决了我的问题。我不需要更改INSTALLED_APPS列表中的任何内容。

以下是步骤:

  1. 在“ settings.py”中进行以下突出显示的更改
Project_root_folder/templetes/registration/*.html
  1. 在项目根文件夹中创建模板/注册目录,然后在此处添加您的注册模板,而不是your_app / templates / registration。
function(uniq,text) which(text %in% uniq)

无需更改settings.py的INSTALLED_APPS中的任何内容。