1
Pythonで変数を動的に作成するためにlocals()を使うのは悪いことだと言われました。しかし、私は(ジャンゴとセキレイを使用して)クラスを書いている、と私は本当にclass
文のローカル変数別名ではなく、別のデータ構造では、クラスのdictに行くためにこれらの事を必要とします:locals()よりもループからクラスdictエントリを作成する方がいい
class BlogPage(Page):
for language in languages:
locals()['body_' + language] = RichTextField(blank=True)
私はsetattr
というクラスのステートメントの後にDjangoのメタクラス処理が既に行われているので、どちらも設定できないと思います。
良い方法がありますか?
おそらく辞書を使用してください。 –
...クラスステートメントの場合、特にメタクラスが重要な仕事をしている場合には、 'locals()'は実際に正当化されるかもしれません( 'locals()'関数内で)。 – user2357112
もっと良い方法は、これを一切やっておらず、何らかのコンテナを使うことです**。 –