2

これは Wagtail (非常にクールな UI を備えた Django バリアント CMS) 内からの行です。問題は、Python 2.7 用に書かれており、共有ホスティングで Django + FastCGI と共に Python 2.6 を使用していることです。

mhlester によって発見された以前の構文エラーを既に変更しましたが、これを理解 できません。

>>> for attr in json_attrs
  File "<stdin>", line 1
    for attr in json_attrs
                          ^
SyntaxError: invalid syntax

元のコード:

 if use_json: # Return a json response
        if search_results:
            search_results_json = []
            for result in search_results:
                result_specific = result.specific

                search_results_json.append({
                    attr: getattr(result_specific, attr)
                    for attr in json_attrs
                    if hasattr(result_specific, attr)
                })

助けてください?

4

1 に答える 1

4

< Python 2.7 には辞書内包表記はありません。代わりに、ビルトインlistに ofを渡す必要があります。tupledict()

dict((attr, getattr(result_specific, attr)) for attr in json_attrs if hasattr(result_specific, attr))
于 2014-03-17T16:24:49.127 に答える