gpt4 book ai didi

python - 运行测试时未在 Django 中找到已安装的应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:53 25 4
gpt4 key购买 nike

我有一个非常简单的 Django 应用程序,我正在尝试对其运行单元测试。在我的 tests.py 文件中,我试图导入父应用程序 View 文件。我试过 从 .导入 View 但出现错误:

SystemError: Parent module '' not loaded, cannot perform relative import

我读到当相对路径不起作用时,您可以尝试使用绝对路径,所以我尝试了 from menu import views 但又遇到了另一个错误:

ImportError: No module named 'menu'

当我为应用程序运行本地服务器时,它工作得很好。仅当我运行 coverage run 'coverage run menu/tests.py 时。由于它运行良好,并且该模块位于我安装的 settings 应用程序中,所以我不完全确定为什么会发生这种情况。

菜单/测试.py

import unittest

from menu import views

class ModelTestCase(unittest.TestCase):
def setUp(self):
pass

def test_menu(self):
pass

if __name__ == '__main__':
unittest.main()

设置.py

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'menu',
'django_nose'
)

回溯

timothybaney$ coverage run menu/tests.py
Traceback (most recent call last):
File "menu/tests.py", line 3, in <module>
from menu import views
ImportError: No module named 'menu'

最佳答案

您给我们的信息不多.. 但当我查看 Traceback 时,它显示 File 'menu/tests.py'。因此,如果 views.py 也在菜单文件夹中,您可以这样写:

import views

如果 views.py 在主文件夹中,你可以这样写:

from ..main import views   #replace 'main' with your folder name

关于python - 运行测试时未在 Django 中找到已安装的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com