【问题标题】:chat() missing 1 required positional argument: 'id'聊天()缺少 1 个必需的位置参数:'id'
【发布时间】:2018-10-30 15:14:08
【问题描述】:

我的网址格式是

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'

我无法弄清楚我做错了什么。请帮忙

【问题讨论】:

  • 您将url(..) 语法与path(..) 语法混合在一起。

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


【解决方案1】:

在 Django url(..) 中,路径是用 regex 指定的,而不是用 patch converters 指定的。所以你的url(..) 应该是这样的:

url(r'^my/<b>(?P&lt;id&gt;\d+)</b>/', 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 代替,这会导致很多混乱。

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2017-03-27
    • 2019-11-12
    相关资源
    最近更新 更多