是";讯息;Django或Python中的保留字?
每次我尝试通过Django admin接口在DB中添加内容时,似乎都会收到一个TypeError(“message”是此函数的无效关键字参数)。已添加对象,但引发了此异常。这可能与我有一个名为“Message”的模型有关吗?否。Python的保留字不包括Message,并且您描述的TypeError不表示名称空间冲突。查看函数的关键字参数,确保是";讯息;Django或Python中的保留字?,python,django,Python,Django,每次我尝试通过Django admin接口在DB中添加内容时,似乎都会收到一个TypeError(“message”是此函数的无效关键字参数)。已添加对象,但引发了此异常。这可能与我有一个名为“Message”的模型有关吗?否。Python的保留字不包括Message,并且您描述的TypeError不表示名称空间冲突。查看函数的关键字参数,确保message在其中。但事实并非如此,因此,当您尝试为保留关键字赋值时,可能是想键入msg时,会引发SyntaxError。这意味着您正在调用的函数不接受
message
在其中。但事实并非如此,因此,当您尝试为保留关键字赋值时,可能是想键入msg
时,会引发SyntaxError。这意味着您正在调用的函数不接受名为“message”的参数
我猜这是因为您使用的模型没有一个名为“message”的字段。这个示例显示了其他人已经指出的内容
>>> def hello(msg):
... print "Hello, ", msg
...
>>> hello("world")
Hello, world
>>> hello(msg="world")
Hello, world
>>> hello(message="world")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: hello() got an unexpected keyword argument 'message'
>>def hello(msg):
... 打印“你好”,msg
...
>>>你好(“世界”)
你好,世界
>>>你好(msg=“world”)
你好,世界
>>>你好(message=“world”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:hello()得到一个意外的关键字参数“message”
似乎我在我的settings.py中缺少了的指令。无论如何,谢谢你的回答。我相信message | messages是一个保留字!以下是我的代码片段:
messages = page.object_list
variables = RequestContext(request, {
'messages': messages,
'show_paginator': paginator.num_pages > 1,
'has_prev': page.has_previous(),
'has_next': page.has_next(),
'page': page_number,
'pages': paginator.num_pages,
'next_page': page_number + 1,
'prev_page': page_number - 1
})
return render_to_response('user_page.html', variables)
当我在user_page.html中检查消息列表时,就会出现问题。无论出于何种原因,检查{%if messages%}将始终返回false,即使列表已填充。在我更改变量名称的那一刻,它就按预期工作了。我还没有找到任何支持这一点的文档,我只知道我撞了头1.5天,直到随机弄明白为止。你能回溯一下吗?问题是,我得到这个是因为任何在数据库中添加对象的函数DB@adrianp-这意味着这些函数都没有
消息
关键字参数。