Herramienta django-comando / Habr

Django-command es una herramienta de línea de comandos que le permite ejecutar comandos de uso común al desarrollar proyectos utilizando el marco Django. Esta herramienta ayuda a mejorar la eficiencia del desarrollo y simplificar los flujos de trabajo asociados con las aplicaciones web Django.

¿Para quién es este artículo?

El artículo está dirigido a desarrolladores de proyectos que utilizan el marco Django y que desean aumentar la eficiencia de su trabajo.

Introducción

Al desarrollar proyectos en el marco de Django, a menudo tenía que realizar el mismo tipo de tareas de rutina: crear migraciones, aplicar migraciones, actualizar las configuraciones regionales, etc., cada vez que cambiaban los modelos de la base de datos. Tuve que memorizar un gran conjunto de comandos y sus argumentos. Por supuesto, almacené todos los comandos en un archivo y lo arrastré de un proyecto a otro. A medida que crecía el número de proyectos, me resultaba incómodo mirar el archivo cada vez en busca del comando requerido. Quería una herramienta más conveniente que optimizara mi trabajo. No he encontrado una solución adecuada a este problema en Internet. Como resultado, decidí crear mi propia herramienta de comando Django, que proporcionaría una interfaz interactiva conveniente, así como la capacidad de ejecutarse desde la consola sin interactividad.

Instalación y uso

Puedes usar pip para instalar el comando django:

pip install django-command

Hay varias formas de ejecutar comandos:

  1. En la terminal, escriba django-command, después de lo cual aparecerá una lista de comandos disponibles para ejecutar en modo interactivo, marque, separados por un espacio, qué comandos ejecutar. Los comandos marcados se ejecutarán en el orden en que fueron seleccionados.

    (venv) PS .\> django-command
    (?) Select 1 or more commands:
     > ( ) create_local                   (1) Creating locales (ru, en)
       ( ) update_local                   (2) Updating and compiling locales
       ( ) collect_static                 (3) Assembling static files in the STATIC_ROOT folder
       ( ) make_migrations                (4) Creating migrations
       ( ) make_migrations_app            (5) Creating the first migration for the application
       ( ) make_empty_migrations_app      (6) Create a blank migration for the application. Used to add default data to the database table
       ( ) migrate                        (7) Applying migrations (--db_label default)
       ( ) create_superuser               (8) Creating a user with superuser rights
       ( ) create_app                     (9) Creating an application
       ( ) run_server                     (10) Running a project on a port number, or ipaddr:port (default "127.0.0.1:8000") (--port 127.0.0.1:8000)
       ( ) install_requirements           (11) Install all dependencies for a project from a file (default "requirements.txt")
       ( ) print_requirements             (12) Automatically generates all the necessary dependencies for the project, and also allows you to save this list to a file (default "requirements.txt") (--save_in_file requirements.txt)
  2. Los comandos se pueden ejecutar por su nombre o número.

    django-command make_migrations migrate
    # or with argument
    django-command make_migrations migrate -db default
    # or
    django-command 4 7

Descripciones de comandos y argumentos.

Para ver la lista de comandos disponibles, debe ingresar en la terminal.

(venv) PS .\> django-command -h
usage: django-command (-h) (-db DB_LABEL) (-s SAVE_IN_FILE) (-p PORT) (-v) commands (commands ...)   

CLI tool that allows you to run commonly used commands when developing Django projects.              

positional arguments:                                                                                
 commands              commands to run: create_local, update_local, collect_static, make_migrations,
                       make_migrations_app, make_empty_migrations_app, migrate, create_superuser,   
                       create_app, run_server, install_requirements, print_requirements             

optional arguments:
 -h, --help            show this help message and exit
 -db DB_LABEL, --db_label DB_LABEL
                       database label for "migrate" command
 -s SAVE_IN_FILE, --save_in_file SAVE_IN_FILE
                       save to file for "print_requirements" command
 -p PORT, --port PORT  port number, or ipaddr:port for "run_server" command
 -v, --version         show program's version number and exit

Comandos en django-command

Similar al comando en Django

crear_local

django-admin crear mensajes -l

Crea archivos locales (ru, en) para la internacionalización.

actualización_local

django-admin hacer mensajes -a

compilar mensajes de django-admin

Actualización y compilación de locales.

recoger_estático

python administrar.py recopila estática

Recopila archivos estáticos en la carpeta STATIC_ROOT.

hacer_migraciones

python administrar.py realizar migraciones

Crea migraciones para todas las aplicaciones.

hacer_migración_app

python administrar.py realizar migraciones {nombre_aplicación}

Crea migraciones para una aplicación específica.

make_empty_migrations_app

python administrar.py hacer migraciones –empty {nombre_aplicación}

Crea una migración vacía para una aplicación específica.

emigrar

python administrar.py migrar

Aplicando migraciones. Actualiza el esquema de la base de datos.

crear_superusuario

python administrar.py crear superusuario

Crea un usuario con derechos de administrador.

crear_aplicación

python administrar.py iniciar aplicación {nombre_aplicación}

Crea una nueva aplicación dentro de un proyecto Django.

ejecutar_servidor

python administrar.py servidor de ejecución

Ejecuta un servidor web para desarrollo y también sirve archivos estáticos.

requisitos_instalación

instalación de pip -r {nombre_archivo}

Instalará todas las dependencias del proyecto desde un archivo (predeterminado “requirements.txt”)

requisitos_de_impresión

congelación de pip > {nombre_archivo}

Genera automáticamente todas las dependencias necesarias para el proyecto y también le permite guardar esta lista en un archivo.

Como puedes ver en la tabla, tuve que recordar muchos comandos diferentes y sus argumentos para crear proyectos completamente en Django. Ahora todo lo que tienes que hacer es recordar y escribir 1 comando.

django-command

Ahora la tarea de rutina: crear migraciones, aplicar migraciones, actualizar las configuraciones regionales se ve así.

django-command make_migrations migrate update_local
# или
django-command 4 7 2

Conclusión

La herramienta django-command es una forma eficaz de aumentar la productividad en el desarrollo de proyectos utilizando el marco Django. Ayudará a automatizar tareas rutinarias, aumentar la eficiencia general del desarrollo y reducir la probabilidad de errores.

Espero que el artículo le ayude a ahorrar al menos un poco de tiempo al escribir proyectos en el marco de Django, así como a brindar a los principiantes un comienzo rápido sin tener que pasar horas buscando comandos de uso frecuente.

Estaré encantado de recibir sus comentarios. Escribe en los comentarios cómo resuelves este problema. ¿Y qué comandos usas en tus proyectos Django?

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *