【问题标题】:Pycharm django tests settingsPycharm django 测试设置
【发布时间】:2017-04-06 16:23:33
【问题描述】:

在 PyCharm 中运行测试时遇到问题。

manage.py test 工作正常。

但是如果我在 PyCharm Django Test 中运行测试会出现以下错误:

AttributeError: 'module' object has no attribute 'ROOT_URLCONF'

Django 测试运行\调试配置:

DJANGO_SETTINGS_MODULE=project.settings.test

Django 首选项

设置:project/settings/test.py

管理脚本:project/manage.py

测试

from django.test import SimpleTestCase
from rest_framework import status


class AccountTestCase(SimpleTestCase):

    def test_current_account(self):
        url = '/api/accounts/current/'
        response = self.client.get(url)
        self.assertEqual(response.status_code, status.HTTP_301_MOVED_PERMANENTLY)

堆栈跟踪

Error
    packages/django/core/handlers/base.py", line 113, in get_response
urlconf = settings.ROOT_URLCONF
  File "/lib/python2.7/site-packages/django/conf/__init__.py", line 56, in __getattr__
return getattr(self._wrapped, name)
  File "/lib/python2.7/site-packages/django/conf/__init__.py", line 173, in __getattr__
return getattr(self.default_settings, name)
AttributeError: 'module' object has no attribute 'ROOT_URLCONF'

不胜感激。

【问题讨论】:

  • 你见过this question/answer吗?
  • 是的,如果我在终端中运行测试它可以工作,这与我应该配置 PyCharm 的方式有关。

标签: django testing pycharm


【解决方案1】:

好的,知道了。

您必须在 PyCharm 中将根文件夹标记为“sources root”

那我猜它加到PYTHONPATH

【讨论】:

    【解决方案2】:

    验证 Pycharm 工具菜单有一个项目“运行 manage.py 任务...”。如果没有,则需要在文件 > 设置 > 语言和框架 > Django 中更改配置。此外,如果使用远程数据库,则需要创建数据库的权限。

    PyCharm Django 项目需要一些设置才能充分使用所有 IDE 功能。许多动作运行良好,但 Django 测试却不行。运行 test.py 时,以下控制台消息表明需要额外的项目设置:

    • 没有这样的设置文件设置
    • AttributeError: 模块 'django.conf.global_settings' 没有属性 'ROOT_URLCONF'

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 2013-12-22
      • 2016-10-22
      • 2017-03-14
      • 2017-12-05
      相关资源
      最近更新 更多