在另一个应用视图中导入 django 应用视图

Posted

技术标签:

【中文标题】在另一个应用视图中导入 django 应用视图【英文标题】:Import a django app view in another app view 【发布时间】:2015-04-01 15:17:23 【问题描述】:

我有两个 django 应用程序,我在 app2 中调用了 app1 的视图,如下所示:

#app: app1
#someview.py

def a_view(request, someparam):
    #some code here


#app: app2
#otherview.py

from app1.someview import a_view

def another_view(request):
param = 1
a_view(request, param)

def view2(request):
  #some code

它工作正常。我的问题是现在我想从 app1 中的 app2 调用一个视图。所以我在 someview.py 中添加了 import 语句,如下所示:

#app: app1
    #someview.py
    from app2.otherview import view2

    def a_view(request, someparam):
        #some code here

结果是 ImportError“无法导入名称 view2”。 谁能告诉我为什么会这样?

【问题讨论】:

是的。我在两个应用程序中都有它。 这是一个导入循环,用于代码重构 嗯...对不起,我不明白。你什么意思?如何解决这个问题? 【参考方案1】:

第二个导入遮蔽了第一个...尝试像

import app2.otherview 

from app2.views as app2_views 

【讨论】:

如果我在 app2 中有一个视图(生成 app2 模板),我正在将其导入到 app1 的视图中,那么我将如何调用该 app2 视图以便将其加载到 @987654323 @ 的 app1 模板?我可能会感到困惑;)

以上是关于在另一个应用视图中导入 django 应用视图的主要内容,如果未能解决你的问题,请参考以下文章

如何获取django应用程序中所有视图的列表?

在 Python 中使用 Django - 尝试导入时未定义视图

Django 无法导入名称视图

如果 django 视图在另一个用户登录时对用户名执行 User.get,用户上下文是不是丢失?

如何以编程方式在另一个视图中调用 Django Rest Framework 视图?

在另一个模板中显示来自 Django 视图的 HTML 表