Как переопределить страницу административного изменения пароля Django?

Я хотел бы переопределить административную страницу "изменить пароль" Django (change_password.формат HTML.) Таким образом, я разместил Django "/contrib/admin/templates/registration/password_change_form.html "в моем проекте" / шаблоны / администратор/Регистрация / password_change_form.html " directory. К сожалению, это не помогает.

на данный момент я в тупике. Я предполагаю, что это имеет какое-то отношение к Django's /contrib/auth/urls.py файл (который направляет изменение администратора пароль вызова " django.ВНО.автор.просмотр.password_change"), но изменения шаблона администратора были тривиальными до сих пор, и я удивлен, что этот не следует примеру.

какие мысли?

3 ответов


быстрый взгляд на источник указывает, что вы должны поместить шаблон в:

/templates/registration/password_change_form.html

Примечание bene:там нет " admin/".


вы должны использовать:

templates/registration/password_change_form.html

если вы все еще видите шаблон администратора Django, вы должны изменить порядок INSTALLED_APPS (e.g Если ваш шаблон находится внутри какого-либо приложения, это приложение должно появиться перед django.contrib.admin на INSTALLED_APPS)

https://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.views.password_change


У меня была та же проблема; я считаю, что это должно делать, как работают загрузчики шаблонов django.

Если вы используете что-то вроде

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)

что-то вроде TEMPLATE_DIRS = ( ОС.путь.join(PROJECT_DIR, 'шаблоны'), )

тогда вы ожидаете ,что (где localstore-это имя вашего локального satchmo переопределяет) localstore/templates/registration/password_change_form.html будет работать. Однако, это не для password_change_form потому что админ перезаписи. Итак, он идет что-то вроде:

  1. шаблон загрузчика файлов dirs (например, шаблоны)
  2. (шаблоны администратора django)
  3. шаблон локальных приложений dirs

таким образом, решением для меня было переместить мой шаблон регистрации переопределяет из моего каталога localstore/templates в каталог /templates проекта.