2010-12-30 35 views
7

Có ai có kinh nghiệm sử dụng các tệp cài đặt khác nhau cho người thử nghiệm Django ở PyCharm không?PyCharm 1.1 - sử dụng cài đặt cụ thể cho người thử nghiệm django

dự án của tôi là sáng tác như sau:

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

Chạy thử nghiệm với một lệnh manage.py (và thêm --settings = settings.development) hoạt động tốt, nhưng tôi muốn sử dụng xây dựng trong thử nghiệm Á hậu (vì nó tốt hơn tích hợp với IDE).

tôi nghĩ vấn đề là xác lập cá nhân không được nạp đúng cách, như tôi nhận được lỗi này:

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 

Tôi không nhận được lỗi này bằng manage.py từ dòng lệnh (cũng khi được gọi từ bên trong IDE), điều này làm cho tôi nghĩ rằng các thiết lập development.py không được nạp đúng cách. Gỡ lỗi cho thấy rằng trong các cài đặt get_app() (trong mô đun load.py).INSTALLED_APPS là một danh sách trống.

Có ai thành công trong việc thiết lập Á hậu thử nghiệm với thiết lập tệp cài đặt này không?

Rất cám ơn trước!

+0

Tôi nghĩ rằng tôi đã có một vấn đề tương tự trong nhật thực. Nó cần django để được impoirted và djanjo.setup() chạy một nơi nào đó. –

Trả lời

0

Bạn phải tạo một models.py trên ứng dụng đó!

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

+0

Nó có: thư mục ứng dụng chứa tất cả các tệp cần thiết (tests.py, models.py, views.py, v.v), cho mỗi ứng dụng. Nếu tôi không có tệp models.py, các thử nghiệm chạy từ dòng lệnh cũng sẽ không hoạt động. – LaundroMat

1

tôi đề nghị sửa đổi nhỏ cấu trúc dự án của bạn. kiểm tra nhiều, ví dụ nhiều chi tiết hơn này:

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

bạn sẽ thấy có một thư mục cấp cao nhất và một subdir có cùng tên, nơi tất cả các file thiết lập tiếp theo đi.

cho nhưng tài liệu tham khảo khác, hãy kiểm tra các lệnh 'startproject' có thể được sử dụng để tạo ra cấu trúc dự án ban đầu:

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

HTH

Các vấn đề liên quan