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 proyecto
  • Nombre del proyecto/: Directorio principal del proyecto
    • __init__.py
    • settings.py: Archivo de configuración del proyecto
    • urls.py: Configuración de rutas URL
    • wsgi.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__.py
  • admin.py: Configuración del panel de administración
  • apps.py: Configuración de la aplicación
  • models.py: Definición de modelos de datos
  • tests.py: Código de pruebas
  • views.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

ComandoFunciónEjemplo
startprojectCrear un nuevo proyecto Djangodjango-admin startproject myproject
startappCrear una nueva aplicación Djangodjango-admin startapp myapp
runserverIniciar el servidor de desarrollopython manage.py runserver
makemigrationsGenerar archivos de migración de base de datospython manage.py makemigrations
migrateEjecutar migraciones de base de datospython manage.py migrate
createsuperuserCrear una cuenta de administradorpython manage.py createsuperuser
shellIniciar el shell interactivo de Djangopython manage.py shell
collectstaticRecopilar archivos estáticos (para entorno de producción)python manage.py collectstatic
testEjecutar pruebas unitariaspython manage.py test

django-admin startproject (crear proyecto)

Sintaxis básica:

django-admin startproject <项目名称> [目标目录]

Descripción de parámetros:

ParámetroFunciónEjemplo
<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 proyectodjango-admin startproject mysite /opt/myproject
--templateUsar una plantilla de proyecto personalizadadjango-admin startproject --template=my_template.zip mysite
--extensionEspecificar la extensión de archivo (por ejemplo,.py, .txt)django-admin startproject --extension=py,txt mysite
--nameEspecificar el patrón de nombre de archivo (por ejemplo,Dockerfile, README.md)django-admin startproject --name=Dockerfile mysite

Ejemplo

django-admin startproject mysite  # Crear un proyecto predeterminado
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ámetroFunciónEjemplo
<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óndjango-admin startapp blog /opt/myapp
--templateUsar una plantilla de aplicación personalizadadjango-admin startapp --template=my_app_template.zip blog

Ejemplo

django-admin startapp blog  # Crear aplicación predeterminada
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ámetroFunciónEjemplo
[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
--noreloadDeshabilitar la recarga automática (usar al depurar)python manage.py runserver --noreload
--insecureForzar el servicio de archivos estáticos (modo no DEBUG)python manage.py runserver --insecure

Ejemplo

python manage.py runserver  # Inicio predeterminado (127.0.0.1:8000)
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ámetroFunciónEjemplo
[nombre de la aplicación]Opcional, especifica la aplicación a migrarpython manage.py migrate blog
[versión de migración]Opcional, especifica el número de versión de la migraciónpython manage.py migrate blog 0002
--fakeMarcar la migración como ejecutada (sin modificar realmente la base de datos)python manage.py migrate --fake
--fake-initialMarcar como ejecutada solo cuando la tabla ya existepython manage.py migrate --fake-initial

Ejemplo

python manage.py migrate  # Ejecutar todas las migraciones pendientes
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

ComandoFunciónEjemplo
createsuperuserCrear usuario administradorpython manage.py createsuperuser
shellEntrar al shell de Django (con soporte ORM)python manage.py shell
testEjecutar casos de pruebapython manage.py test blog
collectstaticRecopilar archivos estáticos (despliegue en entorno de producción)python manage.py collectstatic
Otras extensiones