Django无法从一个视图到另一个视图获得功能

时间:2015-12-04 12:05:38

标签: django python-2.7

我在同一个应用程序中有两个视图文件(让它们成为view1和view2)。 view1中有函数 appcard,我试图在view2中进行攻击,

from app.view1 import appcard

但收到错误

cannot import name appcard

有没有办法解决这个问题?已经尝试导入整个viev文件,但又出现了另一个错误,例如" appcard未定义"。

view1.py
...
def appcard(request,exte):
    """some code"""
    return render(request,
        'app/applicantcard.html',
    )


view2.py
from app.view1 import appcard

def applicant_home(request):
    exte='applicant/applicant_layout.html'
    return appcard(request, exte)

如果

from .view1 import appcard

有错误:

ImportError at /
cannot import name appcard

2 个答案:

答案 0 :(得分:1)

要从同一包(文件夹)中的模块(文件)导入某些内容,您应该使用相对导入符号 - 使用点。在您的情况下使用:

from .view1 import appcard

您的代码中似乎也有拼写错误:首先,您说您在view1文件中有appcatd函数,并且您尝试导入appcard。所以你应该导入函数的确切名称。

答案 1 :(得分:0)

哦,它实际上是乱糟糟的:我从view2导入了一些函数到view1,它使用的函数使用从view1函数导入的一些函数。对不起,重新安排了功能,现在工作正常。