Django: urls.py 没有反向匹配错误

Django: urls.py giving No Reverse Match error

我安装了 django-axes,它允许您设置 url 在 5 次登录失败时重定向到。我根据 documentation:

将此行添加到 settings.py
AXES_LOCKOUT_URL = 'account-locked'

然后我将这一行添加到 users/urls.py:

path('account/locked/?username=<str>', user_views.account_locked, name='account-locked'),

当我在登录屏幕中输入 5 个错误的 username/password 组合时,它会尝试重定向我,但我收到此错误:

NoReverseMatch at /login/
Reverse for 'account-locked?username=user2' not found. 'account-locked?username=user2' is not a valid view function or pattern name.

django-axes设置AXES_LOCKOUT_URL可能需要路径URL(不是路径名)

那么你可以尝试像下面这样更改 AXES_LOCKOUT_URL:

AXES_LOCKOUT_URL = 'login/account/locked/'

你的路径应该是这样的

path('account/locked/', user_views.account_locked, name='account-locked'),