python - Django 测试 - 导入错误 : Start directory is not importable

标签 python django pycharm

我试图对一段代码进行一些测试,但出现导入错误:开始目录不可导入。下面是我的代码。如果有人可以提供帮助,我将非常感激。我正在使用 Python 2.7.5 和 pycharm。

这是我在 virenv 中执行的命令

manage.py test /project/tests.py

from django.test import TestCase

# Create your tests here.
from project.models import Projects
from signup.models import SignUp


class ProjectTestCase(TestCase):

    def SetUp(self):
        super(ProjectTestCase,self).SetUp()
        self.john = SignUp.objects.get(email='john@john.com')
        self.project = Projects.objects.get(pk=1)


    def test_project_permission(self):


        self.assertFalse(self.john.has_perm('delete',self.project))
        self.assertTrue(self.john.has_perm('view',self.project))
        self.assertTrue(self.john.has_perm('change',self.project))

最佳答案

  1. 您应该验证项目目录中是否有 __init__.py(它可以是空文件)
  2. 您没有正确调用 test。假设您有一个名为project的应用程序,则在该应用程序中调用测试的方法是manage.py测试项目

[编辑其他评论,这确实进入了单独的问题领域]

我建议将其添加到settings.py(在底部)

import sys
if 'test' in sys.argv:
    DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
    SOUTH_TESTS_MIGRATE = False

这个:

A.将使用 sqlite (某种程度上,我不确定它实际上是 sqlite 还是像 sqlite 一样工作的内存数据库)...如果我使用 postgres 并且我试图让我的权限不要过于自由,我会注意到问题而且我已经中止了测试)

B.禁用向南迁移(因此它将从根据当前模型构建的干净数据库开始)

关于python - Django 测试 - 导入错误 : Start directory is not importable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142923/

相关文章:

html - 图像拒绝覆盖 div 中的另一个图像

python - 如何使用 django import-export 在 admin 中订购导入字段?

python - Docker 远程上的 Pycharm 远程解释器 : [Errno 2] No such file or directory

python - 无法更改 Windows 上的诅咒中的颜色

python - 哪个 linux 内核系统调用显示从磁盘读取的字节数

python - 如何使用 Django 限制两列不具有相同的值?

python - 使用 Django 和 pipenv 正确设置 uwsgi.ini 文件

python - PyCharm 4.5 中外部库的索引失败

python - 更改 PyCharm 中的 reStructuredText 格式以自动生成注释

python - numpy 数组索引技术如何为相同的输入代码提供不同的输出?