Вопрос по настройке Django шаблонов авторизации - PullRequest
0 голосов
/ 14 января 2020

Я использую Django 3 и Python 3.7.

Я ломал голову над некоторыми шаблонами, но я не могу найти шаблоны "успеха", которые можно найти, например, «password_change_done» и «password_reset_done». Оба выдают похожие сообщения об ошибках.

NoReverseMatch по адресу / users / password_change /

Обратное значение для password_change_done не найдено. 'password_change_done' не является допустимой функцией представления или именем шаблона.

У меня есть это в моем проекте urls.py:

    urlpatterns = [
      path( "users/", include( "users.urls" ) )
    , path( "admin/", admin.site.urls )
    , path( "", include( "main.urls" ) )  #  Played with this up top, and here on the bottom.
]

И в users \ urls.py:

urlpatterns = [
      #  Include default auth urls.
      path( "", include( "django.contrib.auth.urls" ) )
      ...
]

Я даже пытался добавить значение TEMPLATES.DIRS, чтобы указать на пользователя / шаблоны.

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [ os.path.join( BASE_DIR, "users/templates" ) ],  #  With and Without this.
        "APP_DIRS": True,
        ...
        },
    },
]

Мне кажется, path( "", include( "django.contrib.auth.urls" ) ) должен содержать правильную ссылку, но мне нужно перечислить каждого по отдельности? Как мне это сделать?

1 Ответ

0 голосов
/ 14 января 2020

Ссылка на конкретный c вид для вашего пользовательского URL выглядит следующим образом.

from django.contrib.auth import views as auth_views

urlpatterns = [
   path('change-password/', auth_views.PasswordChangeView.as_view()),
]

Ознакомьтесь с подробностями из docs .

...