私はdjangoプロジェクトで作業していますが、AbstractUserモデルを使用してデフォルトのdjangoユーザーモデルを従業員のモデルに変更しました。リダイレクト時にDjangoがパターン名を見つけることができません
今最初のログイン時に、私はEmployeeAdmin - get_urls
メソッドで定義されているURLのパスワードページを変更するために従業員をリダイレクトする必要があります。
admin.py
class MyAdminSite(AdminSite):
login_form = AdminLoginForm
admin_site = HRMSAdminSite(name='My-admin')
@admin.register(Employee, site=admin_site)
class EmployeeAdmin(admin.ModelAdmin):
def get_urls(self):
return [
path(
'<id>/password/',
self.admin_site.admin_view(self.user_change_password),
name='auth_user_password_change',
),
] + super().get_urls()
def user_change_password(self, request, id, form_url=''):
pass
そして、私のAdminLoginForm上:また、私は、以下のようにデフォルトのAdminSiteを上書きしなければならなかったデフォルトのログイン動作を無効にするにはしかし
forms.py
class AdminLoginForm(AuthenticationForm):
def confirm_login_allowed(self, user):
# user.last_login is blank if this is first login for this user
if not user.last_login:
return redirect('auth_user_password_change')
、Aを実行していますエラーコード:
'auth_user_password_change'のリバースが見つかりません。 'auth_user_password_change'は有効なビュー関数またはパターン名ではありません。
djangoがEmployeeAdminのget_urls()メソッドで定義された名前付きURLを見つけることができない理由はわかりません。