Explicación detallada de comandos de Django django-admin
django-admin es una herramienta de línea de comandos proporcionada por el framework Django; es la herramienta central para administrar proyectos Django.
Ya sea para crear un nuevo proyecto, ejecutar el servidor de desarrollo o realizar migraciones de base de datos, django-admin es una herramienta indispensable.
Para ver todos los comandos que ofrece django-admin, puedes ejecutar:
django-admin help
La salida es similar a la siguiente:
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
optimizemigration
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
Explicación detallada de comandos comunes de django-admin
1. Crear un nuevo proyecto
django-admin startproject 项目名称
Este comando creará un nuevo proyecto Django en el directorio actual, incluyendo la estructura básica del proyecto:
manage.py: Script de gestión del proyectoNombre del proyecto/: Directorio principal del proyecto__init__.pysettings.py: Archivo de configuración del proyectourls.py: Configuración de rutas URLwsgi.py: Punto de entrada de la aplicación WSGI
2. Crear una nueva aplicación
Aunque normalmente se usamanage.pypara crear aplicaciones, también se puede hacer con django-admin:
django-admin startapp 应用名称
Esto creará una nueva aplicación Django, que incluye:
migrations/: Directorio de archivos de migración de base de datos__init__.pyadmin.py: Configuración del panel de administraciónapps.py: Configuración de la aplicaciónmodels.py: Definición de modelos de datostests.py: Código de pruebasviews.py: Funciones de vista
3. Verificar la configuración del proyecto
django-admin check
Este comando verificará si tu proyecto Django tiene errores de configuración, incluyendo:
- Si las definiciones de modelos son correctas
- Si la configuración de URL es válida
- Si la configuración de plantillas es correcta
- La configuración de archivos estáticos, etc.
4. Migración de la base de datos
Django utiliza un sistema de migraciones para gestionar los cambios de esquema de la base de datos:
django-admin makemigrations # 创建迁移文件 django-admin migrate # 应用迁移到数据库
5. Crear un superusuario
django-admin createsuperuser
Este comando te guiará para crear un superusuario que pueda acceder al panel de administración de Django.
Comandos comunes de django-admin
| Comando | Función | Ejemplo |
|---|---|---|
startproject | Crear un nuevo proyecto Django | django-admin startproject myproject |
startapp | Crear una nueva aplicación Django | django-admin startapp myapp |
runserver | Iniciar el servidor de desarrollo | python manage.py runserver |
makemigrations | Generar archivos de migración de base de datos | python manage.py makemigrations |
migrate | Ejecutar migraciones de base de datos | python manage.py migrate |
createsuperuser | Crear una cuenta de administrador | python manage.py createsuperuser |
shell | Iniciar el shell interactivo de Django | python manage.py shell |
collectstatic | Recopilar archivos estáticos (para entorno de producción) | python manage.py collectstatic |
test | Ejecutar pruebas unitarias | python manage.py test |
django-admin startproject (crear proyecto)
Sintaxis básica:
django-admin startproject <项目名称> [目标目录]
Descripción de parámetros:
| Parámetro | Función | Ejemplo |
|---|---|---|
<nombre del proyecto> | Obligatorio, nombre del proyecto (se generará un directorio con el mismo nombre) | django-admin startproject mysite |
[directorio de destino] | Opcional, especifica el directorio donde se almacenará el proyecto | django-admin startproject mysite /opt/myproject |
--template | Usar una plantilla de proyecto personalizada | django-admin startproject --template=my_template.zip mysite |
--extension | Especificar la extensión de archivo (por ejemplo,.py, .txt) | django-admin startproject --extension=py,txt mysite |
--name | Especificar el patrón de nombre de archivo (por ejemplo,Dockerfile, README.md) | django-admin startproject --name=Dockerfile mysite |
Ejemplo
django-admin startproject mysite /opt/code # Especificar directorio
django-admin startproject --template=https://example.com/my_template.zip mysite # Usar plantilla remota
django-admin startapp (crear aplicación)
Sintaxis básica:
django-admin startapp <应用名称> [目标目录]
Descripción de parámetros:
| Parámetro | Función | Ejemplo |
|---|---|---|
<nombre de la aplicación> | Obligatorio, nombre de la aplicación (se generaránmodels.py, views.pyetc.) | django-admin startapp blog |
[directorio de destino] | Opcional, especifica el directorio donde se almacenará la aplicación | django-admin startapp blog /opt/myapp |
--template | Usar una plantilla de aplicación personalizada | django-admin startapp --template=my_app_template.zip blog |
Ejemplo
django-admin startapp blog /opt/myapp # Especificar directorio
django-admin startapp --template=my_template.zip blog # Usar plantilla
django-admin runserver (iniciar servidor de desarrollo)
Sintaxis básica:
python manage.py runserver [IP:端口]
Descripción de parámetros:
| Parámetro | Función | Ejemplo |
|---|---|---|
[IP:端口] | Opcional, especifica la IP y el puerto de escucha (por defecto127.0.0.1:8000) | python manage.py runserver 0.0.0.0:8080 |
--noreload | Deshabilitar la recarga automática (usar al depurar) | python manage.py runserver --noreload |
--insecure | Forzar el servicio de archivos estáticos (modo no DEBUG) | python manage.py runserver --insecure |
Ejemplo
python manage.py runserver 0.0.0.0:8000 # Permitir acceso externo
python manage.py runserver 8080 # Solo cambiar el puerto
django-admin migrate (migración de base de datos)
Sintaxis básica:
python manage.py migrate [应用名] [迁移版本]
Descripción de parámetros:
| Parámetro | Función | Ejemplo |
|---|---|---|
[nombre de la aplicación] | Opcional, especifica la aplicación a migrar | python manage.py migrate blog |
[versión de migración] | Opcional, especifica el número de versión de la migración | python manage.py migrate blog 0002 |
--fake | Marcar la migración como ejecutada (sin modificar realmente la base de datos) | python manage.py migrate --fake |
--fake-initial | Marcar como ejecutada solo cuando la tabla ya existe | python manage.py migrate --fake-initial |
Ejemplo
python manage.py migrate blog # Migrar solo la aplicación blog
python manage.py migrate blog 0002 # Migrar a una versión específica
Otros comandos comunes
| Comando | Función | Ejemplo |
|---|---|---|
createsuperuser | Crear usuario administrador | python manage.py createsuperuser |
shell | Entrar al shell de Django (con soporte ORM) | python manage.py shell |
test | Ejecutar casos de prueba | python manage.py test blog |
collectstatic | Recopilar archivos estáticos (despliegue en entorno de producción) | python manage.py collectstatic |