【发布时间】:2012-02-17 11:40:19
【问题描述】:
我正在运行一个 Pylons 项目并遇到了这个奇怪的问题。提交表单时,我可以选择添加徽标(简单的 .png)。徽标在 FieldStorage 实例中传递。我尝试评估徽标是否与此一起发送:
if request.params.get('logo'):
do x
但是,即使有徽标,它的计算结果也始终为 False。如果我打印 request.params 我得到UnicodeMultiDict([('logo', FieldStorage('logo', u'tux.png'))])。
我解决了:
if not request.params.get('logo') == None:
do x
我不明白为什么会这样,而第一个例子没有。
【问题讨论】:
-
bool(FieldStorage('logo', u'tux.png'))返回什么? -
这不能回答你的问题,但根据 pep8 你应该使用“is None”而不是“== None”。请参阅此处了解更多信息:stackoverflow.com/q/100732/1205715