我已经安装了一个名为“发布”的应用程序,我正在尝试从我的Django项目中调用“发布”视图。我一直收到以下错误:
from citations_app import views as citations_app_views
ImportError: No module named citations_app因此,我不能“加载”外部应用程序的视图,如果可以的话,我也不能确定我是否正确地调用了它。我试图使用"display_info“视图函数获取数据列表,然后将该数据传递给外部应用程序的"list_view”视图函数。下面是我的citations.py视图文件:
from django.db.models import get_app
citations_app = get_app("publications")
from citations_app import views as citations_app_views
from citations_app_views import list as list_view
def display_info(request):
citations = request.GET.getlist('citation-selection')
return list_view(request, citations)知道为什么我会得到导入错误,如果我正确地调用"list_view“视图函数的话?谢谢你!!
目录结构:
MyApp1/
models/
publications.py
citations.py
items.py
views/
publications.py
citations.py
items.py
MyApp2/
Publications/ (not physically present at this location but installed as part of requirements.txt file)我在视图[项目]中工作。
发布于 2014-10-28 21:31:23
忘记get_app(),您只需要使目录结构和导入路径正常工作。
听起来你是在说,问题是本地publications.py在跟踪publications应用程序吗?因此,您必须使用Python2,因为在Python3中不再可能出现这种模糊。要消除Python2中的模糊,请将from __future__ import absolute_import添加到文件的顶部。一旦你这样做了,from publications import ...总是会提到顶级的应用程序。要访问本地publications.py,您可以使用from .publications import ...或from myapp1.models.publications import ...。
如果想了解有关绝对/相对导入问题的更多信息,请参见佩普328。
https://stackoverflow.com/questions/26613425
复制相似问题