我已经尝试了一些我能找到解决这个问题的东西,而且我开始把头发撕掉一点.我收到这个错误:
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) 我有一个 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 测试,但它似乎根本不相关(更旧的版本?),因为我收到不同的错误并且事情看起来非常不同。
我必须强调的PyCharm 社区版这也没有任何Django的集成(v 2016年3月2日在提问时间,但仍然有效).
我谷歌我的问题和(令人惊讶的是)我没有得到任何答案(当然我不排除可能有一些的可能性,但我只是错过了他们).
问题很简单,在PyCharm中,可以通过简单的鼠标右键单击(从上下文菜单中)运行(调试)单元测试(TestCase或其中一种方法),如下图所示:
不幸的是,这产生了一个例外:
Run Code Online (Sandbox Code Playgroud)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, …
我正在尝试在 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)
这就是我导入客户端的方式,以便我可以将其用于测试。有人可以向我解释一下吗?