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

12 просмотров

Привет с гх :)

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

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
70
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
Тут просто дело в том, что я не могу сейчас дать такие подробности из за того что рассчитать это всё нереально. Этого проекта который я хочу сделать ещё даже не существует) И ...
🐾
8
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
GridView fully ignored first parent(SizedBox), and take width from second parent(Container). How can I constrain GridView by first parent? Widget build(BuildContext context) {...
Hamster
1
Карта сайта