en django, ejecutar código solo una vez durante el inicio puede ser un requisito común. Explore una solución que garantice que el código se ejecute solo durante el inicio del servidor inicial, no en las solicitudes posteriores.
inicialmente, la solución propuesta en la pregunta vinculada planteó el mensaje "Hello World" dos veces en el terminal. El problema radica en el uso de la excepción MiddleWarenotused para terminar la ejecución del middleware.
comenzando con Django 1.7, se ha introducido un gancho dedicado para abordar este problema. Al anular el método Ready en la clase AppConfig de su aplicación, puede especificar el código de solo inicio. Este enfoque es más limpio y más explícito que usar middleware.
para las versiones de Django antes de 1.7, colocar el código de inicio en el archivo __init__.py de una de sus instaladas ha demostrado ser efectivo. Este código se ejecutará cuando la aplicación se cargue por primera vez, asegurando que se ejecute solo una vez.
aquí hay un ejemplo de la ubicación del código para este enfoque:
# myapp/__init__.py import your_module your_module.initializer()
tenga en cuenta que cuando se usa el comando ./manage.py runServer, el código de inicialización puede ejecutarse dos veces debido a los procesos de validación del servidor interno. Sin embargo, en escenarios de implementación típicos o durante las recargas automáticas por RunServer, el código se ejecutará solo una vez.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3