Dav*_*ave 2 python testing django pycharm python-3.x
我使用的是 Django、Python 3.7 和 PyCharm 2018.3.5。我试图通过右键单击测试名称并选择“运行测试:'测试名称'”来在 PyCharm 中运行测试。这会导致以下错误
RuntimeError: Model class appname.models.Label doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Run Code Online (Sandbox Code Playgroud)
这是有问题的模型,位于我的 models.py 文件的顶部......
class Label(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
class Meta:
unique_together = ("name",)
Run Code Online (Sandbox Code Playgroud)
非常奇怪的是,如果我在 PyCharm 之外运行测试(例如在终端命令提示符下使用“python manage.py test”),一切都会正常运行。所以问题似乎是 PyCharm 的一些配置错误。我不清楚如何进一步解决这个问题。以下是我的项目目录结构...
appname
__init__.py
__pycache__
admin.py
apps.py
fixtures
management
migrations
models.py
services.py
static
templates
tests.py
views.py
manage.py
templates
venv
appname_project
Run Code Online (Sandbox Code Playgroud)
编辑:我将环境变量编辑为以下内容
PYTHONUNBUFFERED=1
DJANGO_DEVELOPMENT=true
DJANGO_SETTINGS_MODULE=appname_project.settings
Run Code Online (Sandbox Code Playgroud)
这是因为我的设置文件是特定于环境的,所以我的开发文件的路径是
appname_project/settings/dev.py
Run Code Online (Sandbox Code Playgroud)
但即使添加上述结果也会导致相同的错误。
test_runner当使用运行测试的内置选项时,PyCharm 使用自己的选项。大多数时候它无法找到settings.py文件。所以你必须明确定义settings文件。
转到右上角并从运行配置菜单中选择编辑配置。
选择运行测试的特定配置。
单击环境变量。添加
DJANGO_SETTINGS_MODULEwith YOUR_PROJECT.settings(或您正在使用的设置文件的路径)作为值。
现在应该可以了。
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |