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 に答える