gpt4 book ai didi

python - Django _view_() 采用 1 个位置参数,但给出了 2 个

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:56 24 4
gpt4 key购买 nike

我的 Django 项目遇到了问题。如下所示:我有一个简单的正则表达式来匹配用户

url(r'^users/\w+/$', views.user)

而且效果很好。

然后我更改了正则表达式,因为用户登录有更新,所以现在是(我添加了点符号):

url(r'^users/([a-zA-Z0-9.]+)/$', views.user)

现在我收到“user() takes 1 positional argument but 2 were given”django 错误。

View 定义如下:

def user(request):
return render(request, 'home/user_page.html')

最佳答案

如错误消息中所述,您的 View 需要采用第二个参数:

def user(request, second_param):
return render(request, 'home/user_page.html')

这是因为您在正则表达式(括号之间的部分)中添加了一个组,Django 将任何匹配的组作为参数传递给 View 。

如果您更喜欢以前的行为,请从您的正则表达式中删除括号:

r'^users/[a-zA-Z0-9.]+/$'

相关文档:https://docs.djangoproject.com/en/1.9/topics/http/urls/#how-django-processes-a-request

关于python - Django _view_() 采用 1 个位置参数,但给出了 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com