Как мне переопределить страницу смены пароля администратора в Django? - PullRequest
9 голосов
/ 15 января 2009

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

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

Есть мысли?

Ответы [ 3 ]

21 голосов
/ 13 сентября 2012

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

templates/registration/password_change_form.html

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

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

9 голосов
/ 15 января 2009

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

/templates/registration/password_change_form.html

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

1 голос
/ 01 декабря 2010

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

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

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

с чем-то вроде TEMPLATE_DIRS = ( os.path.join (PROJECT_DIR, 'templates'), )

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

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

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

...