В настоящее время у меня есть модель пользователя, которая может получать доступ к информации, связанной с учетной записью, на основе своего сеанса. Я использую Django Auth PasswordResetView
. Форма сброса пароля используется для сброса пароля, если пользователь забыл свой пароль. Но это представление Django также доступно пользователю, когда он уже вошел в систему.
Как я могу ограничить доступ пользователя к этой странице? Я не могу найти решение этой проблемы, так как это полная абстракция и в моем файле views.py
ничего нет.
Вот так выглядит мой файл urls.py :
from django.contrib import admin
from django.urls import path, include
from django.contrib.auth import views as auth_views
from users import views as user_views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('mainapp.urls')),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name="login"),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name="logout"),
path('password_reset/', auth_views.PasswordResetView.as_view(template_name='users/password_reset.html'), name="password_reset"),
path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='users/password_reset_done.html'), name="password_reset_done"),
path('password_reset_confirm/<uidb64>/<token>', auth_views.PasswordResetConfirmView.as_view(template_name='users/password_reset_confirm.html'), name="password_reset_confirm"),
path('password_reset_complete/', auth_views.PasswordResetCompleteView.as_view(template_name='users/password_reset_complete.html'), name="password_reset_complete"),
path('change_password/', auth_views.PasswordChangeView.as_view(template_name='users/change_password.html', success_url="/"), name="password_change"),
# path('password_change_done/done/', auth_views.PasswordChangeDoneView.as_view(template_name='users/password_change_done.html'), name="password_change_done"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Зарегистрированный пользователь не должен иметь доступ к password_reset_form, поскольку он предназначен только для того, чтобы забыть пароль и когда пользователь уже вошел в систему, для пользователя нет смысла получать доступ к password_reset.html
.