IF statement causing internal server error with webpy
我有这门课:
1 2 3 4 5 6 7 8 9 10 | class View(object): def main_page(self, extra_placeholders = None): file = '/media/Shared/sites/www/subdomains/pypular/static/layout.tmpl' placeholders = { 'site_name' : 'pypular' } # If we passed placeholders vars, append them if extra_placeholders != None: for k, v in extra_placeholders.iteritems(): placeholders[k] = v |
上面代码中的问题是if语句
如您所见,函数接受一个参数(额外的占位符),它是一个dict。
如果我不向main_page()传递参数,
1 2 | if extra_placeholders == None: return 'i executed' |
运行良好。然而,
1 2 | if extra_placeholders != None: return 'i cause error' |
不起作用。它会导致500个内部服务器错误。为什么?
你应该用它来代替吗
1 | if !( extra_placeholders is None) : |
编辑:反映评论:
似乎(谢谢)您也可以使用:
1 | if extra_placeholders is not None : |
更新:原始链接现在死了,所以这个答案是一个很好的参考:https://stackoverflow.com/a/3289606/30225