“消息”是Django或Python中的保留字吗?

时间:2010-11-29 19:49:30

标签: python django

每当我尝试通过Django管理界面在数据库中添加内容时,我似乎得到一个TypeError('message'是此函数的无效关键字参数)。添加了该对象,但引发了此异常。这可能与我有一个名为“消息”的模型有关吗?

6 个答案:

答案 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天直到随机搞清楚。