Desarrollo de componentes de Flask: Blueprint (Blueprint)
Cuando administramos el enrutamiento, configuramos el enrutamiento directamente en el objeto de la aplicación, de la siguiente manera:
Obviamente, si todas las rutas están directamente en el objeto de la aplicación de la aplicación, el registro directo no solo hace que nuestro La estructura del programa es muy confusa, pero también aumenta en gran medida el consumo de memoria del sistema del programa. En cuanto a cómo guardar, intentémoslo primero.
Entonces, ¿cómo utilizar planos para la gestión modular del enrutamiento de programas?
Puedes ver que hay tres carpetas debajo de la carpeta de la aplicación: main, auth y api, que contienen funciones de visualización. Si no está seguro acerca de la estructura del proyecto de Flask, puede ir a Estructura del proyecto de Flask
Los .py init en estas tres carpetas definen planos. Tome el ejemplo en la carpeta principal
Registre el objeto de plano en la aplicación del objeto de la aplicación.
El primer parámetro es el objeto blueprint
Los siguientes parámetros son opcionales
1. static_folder:
Diferente del objeto de la aplicación, la ruta del directorio estático no se registrará de forma predeterminada cuando se cree el objeto blueprint. Necesitamos especificar el parámetro static_folder al crear. Como se muestra en la figura, configuramos el parámetro en "estático", que es la carpeta estática en la estructura del proyecto.
De esta manera, podemos usar la dirección /static/main/layout.css para acceder a los archivos css, js e imágenes en el directorio estático
2.url_prefix p>
El valor predeterminado es '/' ######Use un demo.py para explicar (esta demostración también debe ejecutarse en un entorno virtual)
Obviamente, este parámetro es para agregue el prefijo de la ruta relativa
Por supuesto, no necesita agregarlo usted mismo directamente al renderizar en una plantilla.
Hay tantas cosas intercaladas en el medio, echemos un vistazo al contenido en main/views.py
Este ejemplo es para agregar el prefijo de URL directamente a views.py .
En este archivo, opera en el objeto blueprint, es decir, crea una ruta y representa la página a través del método render_template().
Generalmente estoy acostumbrado a configurar saltos de enrutamiento en el archivo HTML del front-end después de completar todo el trabajo anterior. Por ejemplo:
url_for consulta la dirección URL a través del punto final y luego encuentra la función de vista
Hablemos del mecanismo operativo del plano según mi comprensión personal: