相关疑难解决方法(0)

django.core.exceptions.ImproperlyConfigured:请求设置CACHES,但未配置设置.您必须定义环境变量

我已经尝试了一些我能找到解决这个问题的东西,而且我开始把头发撕掉一点.我收到这个错误:

django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Run Code Online (Sandbox Code Playgroud)

我做的时候我的脚本运行正常:

python3 ./manage.py runserver
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试运行测试时,我都会收到上述错误...我使用VirtualEnv,它不会全局继承,所有内容都安装(使用正确的版本),并且在我的manage.py中设置了:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<appname>.settings")
Run Code Online (Sandbox Code Playgroud)

我正在使用PyCharm Proffesional开发,我已经尝试在IDE和shell中运行测试.在我正在使用的shell中:

python3 manage.py test     
Run Code Online (Sandbox Code Playgroud)

shell没有找到测试.测试是基本的,我并不是真的对目前的内容感到困扰,因为这是我正在努力的环境.更新:我已经解决了shell的问题.测试必须通过以下方式定义:

def test_<name>():
Run Code Online (Sandbox Code Playgroud)

然而,这并没有解决我与PyCharm的问题.我也打过电话:

settings.configure()
Run Code Online (Sandbox Code Playgroud)

哪位告诉我它已经配置好了.
请注意,我没有使用任何带Django的数据库,我已经在设置中评论了相应的内容.

完整的错误是:

  Traceback (most recent call last):
  File "/root/kiloenv/lib/python3.4/site-packages/django/conf/__init__.py", line 38, in _setup
    settings_module = os.environ[ENVIRONMENT_VARIABLE]
  File "/usr/lib/python3.4/os.py", line 631, in __getitem__
    raise KeyError(key) from None
KeyError: 'DJANGO_SETTINGS_MODULE'

During handling of the above exception, …
Run Code Online (Sandbox Code Playgroud)

python django pycharm python-3.x

28
推荐指数
3
解决办法
4万
查看次数

我可以在 pycharm 社区版中运行 Django 测试吗?

我有一个 Django 项目,其中有一堆测试,我刚刚将其导入到 PyCharm 中。我设法对其进行配置,以便我可以运行服务器并且工作正常,但现在我也想运行测试。我尝试创建一个基于路径的测试配置,并给出了 manage.py 路径和测试命令以及我的设置文件作为参数,但我收到以下神秘的错误消息:

Testing started at 10:12 ...
/Users/jonathan/anaconda/bin/python "/Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_unittest_runner.py" --path /Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py -- test --settings=Modeling.settings.tests
Launching unittests with arguments python -m unittest /Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py test --settings=Modeling.settings.tests in /Users/jonathan/Work/GenettaSoft/modeling-web/modeling

usage: python -m unittest [-h] [-v] [-q] [--locals] [-f] [-c]
                          [tests [tests ...]]
python -m unittest: error: unrecognized arguments: --settings=Modeling.settings.tests

Process finished with exit code 2
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

它一定以某种方式以错误的方式运行。难道这根本就不能做吗?

诗。我发现在 PyCharm 中运行 Django 测试,但它似乎根本不相关(更旧的版本?),因为我收到不同的错误并且事情看起来非常不同。

python django unit-testing pycharm

6
推荐指数
1
解决办法
4147
查看次数

从PyCharm Community Edition中鼠标右键单击上下文菜单运行/调试Django应用程序的UnitTests?

我必须强调的PyCharm 社区这也没有任何Django的集成(v 2016年3月2日在提问时间,但仍然有效).

谷歌我的问题和(令人惊讶的是)我没有得到任何答案(当然我不排除可能有一些的可能性,但我只是错过了他们).

问题很简单,在PyCharm中,可以通过简单的鼠标右键单击(从上下文菜单中)运行(调试)单元测试(TestCase或其中一种方法),如下图所示:

在RClick上运行Django单元测试

不幸的是,这产生了一个例外:

Traceback (most recent call last):
    File "C:\Install\PyCharm Community Edition\2016.3.2\helpers\pycharm\utrunner.py", line 254, in <module>
        main()
    File "C:\Install\PyCharm Community Edition\2016.3.2\helpers\pycharm\utrunner.py", line 232, in main
        module = loadSource(a[0])
    File "C:\Install\PyCharm Community Edition\2016.3.2\helpers\pycharm\utrunner.py", line 65, in loadSource
        module = imp.load_source(moduleName, fileName)
    File "E:\Work\Dev\Django\Tutorials\proj0\src\polls\tests.py", line 7, in <module>
        from polls.models import Question
    File "E:\Work\Dev\Django\Tutorials\proj0\src\polls\models.py", line 9, in <module>
        class Question(models.Model):
    File "E:\Work\Dev\Django\Tutorials\proj0\src\polls\models.py", line 10, …
Run Code Online (Sandbox Code Playgroud)

python django unit-testing pycharm

4
推荐指数
1
解决办法
2万
查看次数

Django 导入客户端

我正在尝试在 django 中导入客户端进行测试。但是当我这样做时,我得到了这个奇怪的错误:

ImproperlyConfigured:请求设置 DATABASES,但未配置设置。在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。

from django.utils import unittest
from django.utils import simplejson as json
from django.test.client import Client
Run Code Online (Sandbox Code Playgroud)

这就是我导入客户端的方式,以便我可以将其用于测试。有人可以向我解释一下吗?

django

3
推荐指数
1
解决办法
1219
查看次数

标签 统计

django ×4

pycharm ×3

python ×3

unit-testing ×2

python-3.x ×1