0

私はDjangoでいくつかのビューを書いていますが、これは実際にはPython関数にすぎません。ファイルを整理するためのより良い方法があるかどうか知りたいです。

それこの...

import a, b
def x(request): return a(request)
def y(request): return b(request)

2つのファイルに入れるよりも効率が悪いですか?

import a
def x(request): return a(request)

import b
def y(request): return b(request)

リクエストごとにこれらの関数の1つだけが呼び出されるので、同じファイルに他の関数を入れて、他の関数が必要とするすべてのモジュールをインポートするのは悪い考えだと思います。私は正しいですか?とにかく、djangoはロット全体をインポートするだけですか?

4

4 に答える 4

3

CGIを介してDjangoを実行している場合を除いて(実際にはそうではないことを願っています)、インポートは最初に実行された後にキャッシュされ、この引数全体は無意味です。

于 2010-11-11T21:25:32.087 に答える
2

大きな違いはありません。最も読みやすいものを使用してください。

于 2010-11-11T21:18:25.103 に答える
0

また、これを行う代わりに:

def x(request): return a(request)

元の関数を呼び出す方がおそらく良いでしょう。

于 2010-11-11T22:31:12.927 に答える
0

使用するファイルの数を気にする必要はありません。パフォーマンスの違いはごくわずかです。とはいえ、インポートを使用するためのより効率的で読みやすい方法があります。

必要なものだけをインポートします。from x import *Xですべてを実際に使用する場合を除いて、絶対に使用しないでください。インポートをネストしないでください。の代わりにimport a, b、次のように記述します。

import a
import b

特定の問題に関しては、典型的な行動方針を表すモジュールが必要です。常に2つの関数を次々に実行する必要がある場合は、それらを同じファイルに入れてください。そうでない場合は、あなたとあなたが一緒に働いている人々にとって最も意味のあることをしてください。import a(ではなくfrom x import y, z)形式をとるインポートは比較的安価であることを忘れないでください。

于 2010-11-11T21:22:27.670 に答える