Ho appena iniziato con la beuta e ho raggiunto un ostacolo. Sto cercando di scrivere un piccolo blog per abituarmi al framework, quindi ho creato due pacchetti, un "auth" e "post". Ho letto la sezione Applicazioni grandi nello Flask docs.Flask: utilizzo di più pacchetti in un'app
La mia directory è simile a questa.
>/root
>>run.py
>>/posts
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
>>/auth
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
il run.py assomiglia a questo:
from flask import Flask
from auth import auth_app
from posts import posts_app
auth_app.run()
posts_app.run()
/posts/__init__.py
e /auth/__init__.py
simile a questa:
from flask import Flask
auth_app = Flask(__name__)
import auth.views
e views.py simile a questa:
from auth import auth_app
@auth_app.route('/auth/')
def index():
return "hello auth!"
Ma ogni volta che eseguo il server, solo il localhost/auth/è disponibile, e tutto il resto dà un 404, som presumo che l'app per i messaggi non sia in esecuzione.
Qualcuno può aiutare?
I progetti sono una buona idea! –
Cosa succede se i blueprint 'auth' e' post' dovevano usare un modulo 'models.py' definito a livello root, insieme a' run.py'?Allora avrebbe senso dichiararli come progetti, anche se non erano "completamente indipendenti" dall'applicazione principale e quindi non riutilizzabili in altre applicazioni che non hanno lo stesso 'models.py'? Grazie! – aralar
@ miguel5 Ciò che definite come "indipendente" dipende da voi. I blueprints di Flask aiutano a separare le cose su cui si occupa di Flask: la posizione dei file statici e di modello, gli URL e il loro modo di mappare le visualizzazioni, ecc. Se si desidera utilizzare questo solo per mantenere queste directory diverse , ma si basano ancora su un singolo 'model.py', quindi va bene. Se desideri anche separare i tuoi modelli nelle varie strutture dati, puoi farlo anche tu. Flask stesso non si preoccupa di come archivi il tuo file 'models.py'. –