如何修复django中的NoReverseMatch?

如何修复django中的NoReverseMatch?,django,Django,以下是详细信息错误: NoReverseMatch at/accounts/login/ Reverse for 'detail' with no arguments not found. 1 pattern(s) tried: ['users/(?P<username> [^/]+)/$'] Request Method: POST Request URL: http://192.168.109.138:8000/accounts/login/ Django Ver

以下是详细信息错误: NoReverseMatch at/accounts/login/

Reverse for 'detail' with no arguments not found. 1 pattern(s) tried: ['users/(?P<username>
[^/]+)/$']

Request Method:     POST
Request URL:    http://192.168.109.138:8000/accounts/login/
Django Version:     2.1.7
Exception Type:     NoReverseMatch
Exception Value:    

Reverse for 'detail' with no arguments not found. 1 pattern(s) tried: ['users/(?P<username>
[^/]+)/$']
我不知道reverse()函数是如何工作的,args和kwargs有什么用处

用户\url.py:

class UserUpdateView(LoginRequiredMixin, UpdateView):

model = User
fields = ["nickname", "job_title", "introduction", "picture", "location", "personal_url",
          "weibo", "zhihu", "github", "linkedin"]
template_name = "users/user_form.html"

def get_success_url(self):
    return reverse("users:detail", kwargs={"username": self.request.user.username})

def get_object(self, queryset=None):
    return self.request.user
from django.urls import path
from zhuri02.users import views


app_name = "users"
urlpatterns = [
path("update/", views.UserUpdateView.as_view(), name="update"),
path("<username>/", views.UserDetailView.as_view(), name="detail"),
]

我不确定如何找出此错误,请提供帮助,提前感谢。

尝试在您的'url.py中替换,因此,请不要使用此选项:

path("<username>/", views.UserDetailView.as_view(), name="detail"),
有一些东西可以代替
slug
,比如
str
int
等等


此处的更多信息

错误似乎是在其他地方生成的。因为您不传递任何参数。所以一个
{%url“users:dtail”%}
反向(“users:detail”)
。注意,如果有人使用username=“update”怎么办?检查您的URL模式。
path("<username>/", views.UserDetailView.as_view(), name="detail"),
path('<slug:username>/', views.UserDetailView.as_view(), name='detail'),