私は複数のアプリを持つプロジェクトを持っています。私は別のアプリからいくつかのコードをしたいとき は、だから私は、より具体的には他のアプリからのDjangoインポートコード
from app.pyfile import *
または
from app.pyfile import specific_function
を使用します。私は私が使用するいくつかの共通のものを持っている「commonapp」と呼ばれるアプリを持っている すべての他のアプリで。このアプリでは、私は
my_response(request,template,context)
と呼ばれる関数を含むいくつかの関数を持っているcommon.pyファイルを持っています。これは、
NameErrorを引き起こします。今、この特定の関数は常に他の関数の中で呼び出されています。例えば
:
from commonapp.common import *
def myInfo(request):
context = {}
data = ''
data = SomeModel.objects.all()
template = 'path/to/info.html'
context['data'] = data
a = my_response(request,template,context)
return a
これはNameError提起
を "グローバル・ネーム・my_responseが定義されていない" 私はなぜここNameErrorが何であるかを知っているが、?私は何かがインポートできない場合、または "グローバル名が定義されていない"場合でも、ImportErrorを期待しています。
私はここで何が欠けていますか?
UPDATE:
ここではmy_response(request,template,context)
アプリのファイル構造で、場所を示すスクリーンショットです。
何か? my_responseが定義されていないか、または共通からインポートされているため、NameErrorが返されます。あなたはそれについて何を理解していないのですか? –
私が 'commonapp.common import my_response'を実行しようとすると、私はImportErrorを取得します。私は、他のアプリケーションからインポートした他のすべてのものがちゃんと読み込まれているときに、それがどうなるか理解できません。 –
しかし、これらの両方のエラーは 'commonapp.common'に' my_response'という関数が含まれていないことを示しています。どのように明確ではないのですか?おそらくあなたはそのファイルを表示するべきです。 –