7

PyCharm で Django テスト ランナーにさまざまな設定ファイルを使用した経験がある人はいますか?

私のプロジェクトは次のように構成されています。

+penguinproject
+apps
+settings
--__init__.py
--common.py # this one is imported by the others below
--development.py
--production.py
--staging.py
+static
...

manage.py コマンド (および --settings=settings.development を追加) を使用してテストを実行すると問題なく動作しますが、組み込みのテスト ランナーを使用したいと思います (IDE との統合が優れているため)。

次のエラーが発生するため、設定が正しく読み込まれていないことが問題だと思います。

E:\Development\django_projects\penguinproject\Scripts\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py" --client 127.0.0.1 --port 49898 --file "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py" test items
Testing started at 20:36 ...
pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
E:\Development\django_projects\penguinproject\lib\site-packages\path.py:32: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import sys, warnings, os, fnmatch, glob, shutil, codecs, md5
settings file:  development
pycharm django settings imported
Manager file:  manage
Traceback (most recent call last):
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 1165, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 929, in run
execfile(file, globals, locals) #execute the script
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py", line 15, in <module>
run_module(manage_file, None, '__main__')
File "c:\python26\Lib\runpy.py", line 140, in run_module
fname, loader, pkg_name)
File "c:\python26\Lib\runpy.py", line 34, in _run_code
exec code in run_globals
File "E:\Development\django_projects\penguinproject\yabe\manage.py", line 11, in <module>
execute_manager(settings)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 438, in execute_manager
utility.execute()
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 220, in execute
output = self.handle(*args, **options)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\commands\test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 396, in run_tests
suite = self.build_suite(test_labels, extra_tests)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 285, in build_suite
app = get_app(label)
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\db\models\loading.py", line 140, in get_app
raise ImproperlyConfigured("App with label %s could not be found" % app_label)
django.core.exceptions.ImproperlyConfigured: App with label items could not be found

コマンド ラインから manage.py を使用しても (IDE 内から呼び出された場合にも)、このエラーは発生しません。これにより、development.py の設定が正しく読み込まれていないと思われます。デバッグは、get_app() (loading.py モジュール内) 内で settings.INSTALLED_APPS が空のリストであることを示しています。

この設定ファイルのセットアップでテストランナーのセットアップに成功した人はいますか?

よろしくお願いします!

4

2 に答える 2

1

プロジェクト構造を少し変更することをお勧めします。このより詳細な例を確認してください。

http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/

最上位のディレクトリと、後続のすべての設定ファイルが置かれる同じ名前のサブディレクトリがあることがわかります。

さらに別の参考資料として、初期プロジェクト構造の作成に使用できる「startproject」コマンドを確認してください。

https://docs.djangoproject.com/en/1.10/ref/django-admin/#django-admin-startproject

HTH

于 2016-11-11T18:48:30.750 に答える
0

models.pyそのアプリケーションでを作成する必要があります。

http://code.djangoproject.com/ticket/3310

于 2011-02-25T14:50:23.897 に答える