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 ответов

29 просмотров

Привет с гх :)

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта