chat()缺少1个必需的位置参数:'id'

时间:2018-10-30 15:14:08

标签: python django python-3.x django-views

我的网址格式是

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'

我无法弄清楚我在做什么错。友善的帮助

1 个答案:

答案 0 :(得分:1)

在Django url(..)中,路径是用 regex 指定的,而不是用 patch转换器指定的。因此,您的url(..)应该如下所示:

url(r'^my/(?P<id>\d+)/', views.chat, name='chat'),

及更高版本中,您可以使用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,这样会引起很多混乱。