170 похожих чатов

Может кто не спит: пытаюсь сделать восстановление пароля через джанговские

встроенные возможности.

urls.py

path('password_reset/',
auth_views.PasswordResetView.as_view(
template_name='registration/password_reset_form.html',
email_template_name='registration/password_reset_email.html',
success_url=reverse_lazy('account:password_reset_complete'),
),
name='password_reset'),
path('password_reset/done/',
auth_views.PasswordResetDoneView.as_view(),
name='password_reset_done'),
path('reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(),
name='password_reset_confirm'),
path('reset/done/',
auth_views.PasswordResetCompleteView.as_view(),
name='password_reset_complete'),


рейзит ошибку вида:
NoReverseMatch at /account/reset/done/
Reverse for 'login' not found. 'login' is not a valid view function or pattern name.

Кто-то сталкивался с подобным?

22 ответов

11 просмотров

Привет с гх :)

Ivan-Masiuk Автор вопроса

Даров

не может найти УРЛ login, а вообще в джанге уже это реализовано https://github.com/django/django/blob/master/django/contrib/auth/views.py#L334

Ты просто не тот url вводишь

Ivan-Masiuk Автор вопроса

Я логин переопределил, поэтому так всё ок. Во вьюхе есть логин функция. Должно находить

он ищет УРЛ login и вью которая его отрабатывает. Кароч у тебя редирект происходит на login а найти его не может, 99%

Ivan-Masiuk Автор вопроса

А как пофиксить? Я что-то не врубаюсь, извините

Добавить в урлс path('my_path', myViev.asview(), name='login') и реализовать myViev, если я не ошибся)))

Ivan-Masiuk Автор вопроса

Есть такое

покажи urls.py

Ivan-Masiuk Автор вопроса

https://dpaste.com/DJQXTE252

думаю он его не видит тк ты его в неймспайс вынес app_name = 'account' либо тут убери namespace либо в редиректе добавь redirect('accounts:login')

Ivan-Masiuk Автор вопроса

в LoginView?

нет, там откуда идет редирект на 'login'

Ivan-Masiuk Автор вопроса

Я вообще не понимаю откуда ошибка

вот отсюда редирект, ща

Ivan-Masiuk Автор вопроса

Значит проблема в классе PasswordResetDoneView?

нет, ты используешь стандартные вью а там есть редиретк на 'login' а у тебя он теперь 'accounts:login' вот он его и не видит, смотри в какой момент ошибка вылазиит на какой вью либо там надо переопределить редирект либо убрать namespace

Ivan-Masiuk Автор вопроса

если не мучаться и убрать немспейс, можно будет как-то редиректиться на функцию конкретного приложения?

для начала попробуй убрать и проверь в этом ли дело, а редирект делается https://docs.djangoproject.com/en/3.1/topics/http/shortcuts/#redirect

Ivan-Masiuk Автор вопроса

Спасибо!

Вот думаю после смены пароля он тебя на логин редиректит тут https://github.com/django/django/blob/main/django/contrib/auth/views.py#L330

Похожие вопросы

Обсуждают сегодня

И к какой архитектуре привязана Java?
Dmitry Olshansky
17
@Aiwan что такое база образца?
Alexey
27
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
а сколько всего в IT умерло? Где флеш-игры, их было туча, где они все? Сегодня технология есть, а завтра вжух и мёртвая. Этот wasm сильно напоминает джавовские апплеты, silver...
Constantin F.
5
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Карта сайта