urls - ¿Cuándo debería usar django-admin.py verus manage.py?
url admin django (2)
¿Por qué los ejemplos de código de la documentación de Django usan django-admin.py en lugar de manage.py al demostrar subcomandos como loaddata y dumpdata?
Bueno, porque estos scripts son los mismos en principio, con las diferencias que ya mencionaste. Los documentos de Django también mencionan
django-admin.py <subcommand> [options]
manage.py <subcommand> [options]
lado a lado. Por lo general, usa django-admin.py
para iniciar un nuevo proyecto o aplicación y manage.py
para hacer el resto.
Fondo:
Cuando ejecuto el django-admin.py loaddata example.json
recibo este error. "ImportError: la configuración no se puede importar, porque la variable de entorno DJANGO_SETTINGS_MODULE no está definida". Entiendo el problema. Necesita el DJANGO_SETTINGS_MODULE para poder acceder a la base de datos para realizar esta importación. He tenido este problema antes y he logrado evitarlo hasta ahora.
Al leer los documentos, descubrí que manage.py
es un contenedor para django-admin.py; coloca el proyecto en sys.path
y establece el entorno DJANGO_SETTINGS_MODULE
. Woot! Whoa! Sé cómo solucionar mi problema.
Soo ... ¿Por qué los ejemplos de código de documentation Django usan django-admin.py en lugar de manage.py cuando se muestran subcomandos como loaddata
y dumpdata
?
Si su variable de entorno DJANGO_SETTINGS_MODULE
está configurada, puede usar django-admin.py
desde cualquier directorio de trabajo, mientras que necesita estar en el directorio del proyecto para usar ./manage.py
(o tenerlo en su ruta).
Use virtualenv
, y establezca DJANGO_SETTINGS_MODULE
en bin/activate
, y luego puede usar django-admin.py