2010-12-30 8 views
7

¿Alguien tiene alguna experiencia con el uso de diferentes archivos de configuración para el corredor de prueba Django en PyCharm?PyCharm 1.1 - utilizando configuraciones específicas para el corredor de prueba django

Mi proyecto se compone de la siguiente manera:

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

Ejecución de las pruebas con un comando manage.py (y añadiendo --settings = settings.development) trabaja muy bien, pero me gustaría utilizar el incorporado en el corredor de prueba (ya que está mejor integrado con el IDE).

I que el problema es que mi configuración no se cargan correctamente, ya que me sale este error:

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 

no consigo este error utilizando manage.py desde la línea de comandos (también cuando se invoca desde el IDE), lo que me hace pensar que las configuraciones de development.py no se cargan correctamente. La depuración muestra que dentro de la configuración get_app() (en el módulo carga.py) .INSTALLED_APPS es una lista vacía.

¿Alguien ha tenido éxito al configurar el corredor de prueba con esta configuración de archivos de configuración?

¡Muchas gracias de antemano!

+0

Creo que tuve un problema similar en eclipse. Necesita django para ser eliminado y djanjo.setup() ejecutar en alguna parte. –

Respuesta

0

¡Tienes que crear un models.py en esa aplicación!

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

+0

Tiene: el directorio de aplicaciones contiene todos los archivos necesarios (tests.py, models.py, views.py, etc.), por aplicación. Si no tuviera un archivo models.py, las pruebas ejecutadas desde la línea de comando tampoco funcionarían. – LaundroMat

1

me gustaría sugerir una ligera modificación de la estructura del proyecto. echa un vistazo a este gran ejemplo, mucho más detallada:

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

verá que hay un directorio de nivel superior y un subdirectorio con el mismo nombre, donde todos los archivos de configuración posteriores van.

para otra referencia, echa un vistazo a la orden 'startproject' que se puede utilizar para crear la estructura inicial del proyecto:

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

HTH

Cuestiones relacionadas