1

我有这堂课:

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 语句

如您所见,该函数接受一个参数(extra_placeholders),它是一个字典。

如果我不将参数传递给 main_page(),

if extra_placeholders  == None:
    return 'i executed'

运行良好。然而,

if extra_placeholders  != None:
    return 'i cause error'

不起作用。它会导致 500 内部服务器错误。为什么?

4

1 回答 1

1

你应该改用

if !( extra_placeholders  is  None) :

编辑:反映评论:

看来(谢谢)您也可以使用:

 if extra_placeholders  is  not None :

更新:原始链接现已失效,因此这个 SO 答案是一个很好的参考:https ://stackoverflow.com/a/3289606/30225

于 2009-09-07T07:01:22.167 回答