每当我尝试通过Django管理界面在数据库中添加内容时,我似乎得到一个TypeError('message'是此函数的无效关键字参数)。添加了该对象,但引发了此异常。这可能与我有一个名为“消息”的模型有关吗?
答案 0 :(得分:5)
没有。 Python的保留字不包含消息,您所描述的TypeError不建议命名空间冲突。查看函数的关键字参数,并确保其中包含message
。但事实并非如此,也许您打算输入msg
。
答案 1 :(得分:3)
尝试为保留关键字赋值时,会引发SyntaxError。
答案 2 :(得分:1)
这意味着您调用的函数不接受名为“message”的参数。
我想这是因为您使用的模型没有名为“message”的字段
答案 3 :(得分:1)
此示例显示了其他人已经指出的内容。
>>> 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'
答案 4 :(得分:0)
似乎我在settings.py中缺少Django messages framework的指令。无论如何,谢谢你的答案。
答案 5 :(得分:0)
我相信消息|消息是一个保留字!以下是我的代码片段:
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天直到随机搞清楚。