我有一个项目whith多个应用程序。 所以,当我想从另一个应用中的一些代码,我用Django从其他应用程序进口代码
from app.pyfile import *
或
from app.pyfile import specific_function
更具体: 我有一个名为“commonapp”在那里我有我使用一些常见的东西的应用在所有其他应用程序中。在这个应用程序中,我有一个common.py文件,我有一些功能,其中包括一个名为my_response(request,template,context)
的函数,这个函数导致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是什么,但为什么在这里?如果某些东西无法导入,甚至“全局名称a未定义”,我会期待导入错误。
我在这里错过了什么?
UPDATE:
这里是表示将my_response(request,template,context)
是与该应用程序的文件结构的屏幕截图。
呃,什么?你会得到一个NameError,因为my_response没有在那里定义或从常规导入。你对此不甚了解? –
当我尝试'从commonapp.common导入my_response'时,我得到一个ImportError。我无法理解,当我从其他应用程序导入的其他所有内容都被导入时,这是如何实现的。 –
但这两个错误都显示'commonapp.common'不包含名为'my_response'的函数。这怎么不清楚?也许你应该显示那个文件。 –