2010-11-23 11 views
5

Decidí que quería actualizar mi proyecto Django 1.2 a Django 1.3 para aprovechar los nuevos mecanismos de archivos estáticos. Eliminé mi versión anterior de Django y seguí las instrucciones de la documentación para instalar la versión de desarrollo de svn.Actualizando un proyecto Django de 1.2 a 1.3, manage.py no funciona correctamente

Parece que los cambios han tenido lugar. Es decir, python -c "import django; print django.get_version()" produce "1.3 alpha 1 SVN-14686". Sin embargo, parece que no puedo aprovechar las características 1.3 de mi antiguo proyecto. Si hago "python manage.py collectstatic --help" Obtengo "comando desconocido: 'collectstatic'".

Intenté crear un nuevo proyecto y hacer lo mismo, y el comando collectstatic funcionó. Indagué en django.core.management, pero realmente no tengo mucho sentido de eso. La cadena de documentación para get_commands() menciona:

El diccionario se almacena en caché en el primer llamada y volver a utilizar en llamadas posteriores.

Tal vez esto es totalmente irrelevante, pero me pregunto si mi problema tiene algo que ver con el caché (es decir, una versión antigua del diccionario de comandos se almacena en caché, que no tiene los nuevos comandos 1.3?). ¿Alguna idea?

+0

¿Qué obtienes si primero haces un 'python manage.py shell' y luego verificas la versión? –

+0

@Ignacio La versión sigue siendo 1.3. – Coquelicot

+0

Pruebe esto: '$ python manage.py shell' luego' import sys; imprima sys.path' y luego compare con la salida del nuevo proyecto. Sospecho que el viejo proyecto llama a la versión anterior de django de alguna manera. –

Respuesta

18

Para utilizar un comando de administración, debe agregar la aplicación que lo proporciona al INSTALLED_APPS en settings.py. De the docs:

En primer lugar, tendrá que asegurarse de que es django.contrib.staticfiles en su INSTALLED_APPS.

Eso debería hacer que el comando esté disponible.

+0

¡Ay, cómo he entendido esto! Muchas gracias. – Coquelicot

Cuestiones relacionadas