Tôi gặp sự cố khi thử nghiệm các ứng dụng django được nhóm trong thư mục con.Làm thế nào để kiểm tra ứng dụng django được đặt trong thư mục con?
Vâng, hãy để tôi giải thích tình huống.
Standart cấu trúc dự án django trông như thế này:
django_project/
--appname1
--appname2
--appname3
--lib
--tests
--docs
settings.py
etc...
Khi cấu trúc của dự án là standart bạn có thể chạy thử nghiệm cho appname1 chỉ bằng cách gõ lệnh trong dir dự án:
python2 manage.py test appname1`
Chúng tôi quyết định đặt tất cả ứng dụng trong phân mục con, vì vậy cấu trúc dự án của chúng tôi trông giống như sau:
django_project/
--apps/
----appname1
----appname2
----appname3
--lib
--tests
--docs
settings.py
etc...
Tất cả đều hoạt động tốt, nhưng chúng tôi không thể chạy thử nghiệm cho ứng dụng. Tôi đã thử folowing lệnh không thành công:
python2 manage.py test appname1
python2 manage.py test apps/appname1
python2 manage.py test apps.appname1
Có cách nào cho chạy thử nghiệm sử dụng manage.py cho các ứng dụng được đặt trong thư mục con, hoặc chúng ta nên viết lệnh riêng cho chạy chúng?
UPD:
Chúng tôi đã lỗi sau:
Traceback (most recent call last):
File "manage.py", line 18, in <module>
management.execute_manager(settings)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/opt/python266/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/commands/test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "/opt/python266/lib/python2.6/site-packages/django/test/simple.py", line 312, in run_tests
suite = self.build_suite(test_labels, extra_tests)
File "/opt/python266/lib/python2.6/site-packages/django/test/simple.py", line 244, in build_suite
app = get_app(label)
File "/opt/python266/lib/python2.6/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 appname1 could not be found
Chúng tôi đã cài đặt ứng dụng thiết lập như:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'project_name.apps.appname1',
'project_name.apps.appname2',
'project_name.apps.appname3',
)
Chúng tôi sử dụng django1.3 ... –