我的网址格式是
url(r'^my/<int:id>/', views.chat, name='chat'),
我的视图功能就是这样
def chat(request, id):
snippet = Posted_proj.objects.get(id=id)
return render(request, 'chat.html')
并收到此错误chat() missing 1 required positional argument: 'id'
我无法弄清楚我在做什么错。友善的帮助
答案 0 :(得分:1)
在Django url(..)
中,路径是用 regex 指定的,而不是用 patch转换器指定的。因此,您的url(..)
应该如下所示:
url(r'^my/(?P<id>\d+)/', views.chat, name='chat'),
在django-2.0及更高版本中,您可以使用path(..)
[Django-doc]指定路径:
# since Django-2.0
path(r'^my/<int:id>/', views.chat, name='chat'),
但是我建议将id
重命名为posted_id
或_id
,因为id
[Python-doc]是内置函数,现在您的函数正在“隐藏”内置函数。如果以后要使用内置函数,则将改用URL ID,这样会引起很多混乱。