Estoy empezando con el matraz y me he topado con un problema. Intento escribir un pequeño blog para acostumbrarme al framework, así que hice dos paquetes, un "auth" y "posts". Leí a través de la sección de Aplicaciones grandes en el Flask docs.Frasco: Usar varios paquetes en una aplicación
Mi directorio se ve así.
>/root
>>run.py
>>/posts
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
>>/auth
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
la run.py se parece a esto:
from flask import Flask
from auth import auth_app
from posts import posts_app
auth_app.run()
posts_app.run()
/posts/__init__.py
y /auth/__init__.py
tener este aspecto:
from flask import Flask
auth_app = Flask(__name__)
import auth.views
y la views.py tener este aspecto:
from auth import auth_app
@auth_app.route('/auth/')
def index():
return "hello auth!"
Pero cada vez que ejecuto el servidor, solo el localhost/auth/está disponible, y todo lo demás da un 404, som supongo que la aplicación de mensajes no se está ejecutando.
¿Alguien puede ayudar?
¡Los planos son una buena idea! –
¿Qué sucede si los planos 'auth' y' post' tienen que usar un módulo 'models.py' definido en el nivel raíz, junto con' run.py'?Entonces, ¿tendría sentido declararlos como planos, incluso si no fueran "completamente independientes" de la aplicación principal y por lo tanto no reutilizables en otras aplicaciones que no tienen el mismo 'models.py'? ¡Gracias! – aralar
@ miguel5 Lo que defina como "independiente" depende de usted. Los planos de Flask ayudan a proporcionar una manera de separar las cosas que le interesan a Flask: la ubicación de los archivos estáticos y de plantilla, las URL y cómo se asignan a sus vistas, etc. Si solo quiere usar esto para mantener estos directorios diferentes , pero todavía confían en un solo 'model.py', entonces eso está bien. Si también desea separar sus modelos en varias estructuras de datos, también puede hacerlo. Flask en sí no le importa cómo almacena su archivo 'models.py'. –