首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中调用外部应用程序的视图

在Django中调用外部应用程序的视图
EN

Stack Overflow用户
提问于 2014-10-28 16:23:58
回答 1查看 1.1K关注 0票数 0

我已经安装了一个名为“发布”的应用程序,我正在尝试从我的Django项目中调用“发布”视图。我一直收到以下错误:

代码语言:javascript
复制
from citations_app import views as citations_app_views
   ImportError: No module named citations_app

因此,我不能“加载”外部应用程序的视图,如果可以的话,我也不能确定我是否正确地调用了它。我试图使用"display_info“视图函数获取数据列表,然后将该数据传递给外部应用程序的"list_view”视图函数。下面是我的citations.py视图文件:

代码语言:javascript
复制
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“视图函数的话?谢谢你!!

目录结构:

代码语言:javascript
复制
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)

我在视图[项目]中工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26613425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档