我的django项目遇到了一个问题。 如下所示:我有一个简单的regexp来匹配用户
url(r'^users/\w+/$', views.user)
而且效果很好。
然后我更改了regexpt,因为用户登录时有更新,所以现在是(我添加了点符号):
url(r'^users/([a-zA-Z0-9.]+)/$', views.user)
现在我得到了“user()takes 1 positional argument but 2 were given”django error。
视图的定义如下:
def user(request):
return render(request, 'home/user_page.html')
如错误消息中所述,您的视图需要采用第二个参数:
这是因为您在regex中添加了一个组(括号之间的部分),Django将任何匹配的组作为参数传递给视图。
如果您喜欢前面的行为,请从正则表达式中删除括号:
相关文件:https://docs.djangoproject.com/en/1.9/topics/http/urls/#how-django-processes-a-request
相关问题 更多 >
编程相关推荐