2015-07-12 14 views
5

Directory Structure:Perché la mia vista funziona 404?

__init__:

from flask import flask 

app = Flask(__name__) 


if __name__ == '__main__' 
    app.run() 

Visualizzazioni:

from app import app 

@app.route('/') 
def hello_world(): 
    return 'Hello World!' 

Spero che qualcuno possa spiegare quello che sto facendo male qui - Credo di essere non capendo come importare correttamente app. Ne risulta un 404. Tuttavia, quando le viste vengono spostate su __init__, tutto funziona correttamente.

risposta

6

è necessario importare esplicitamente il modulo views nella vostra __init__:

from flask import flask 

app = Flask(__name__) 
from . import views  

senza importare il modulo, le iscrizioni vista non sono mai fatte.

Mantenere la porzione di script al di fuori del pacchetto. Aggiungi un file separato in Final_app (quindi all'esterno della directory app) che esegue il tuo server di sviluppo; dite run.py:

def main(): 
    from app import app 
    app.run() 

if __name__ == '__main__' 
    main() 
+0

La mia struttura di directory è corretta o mi manca qualcos'altro? Non riesco ad importare viste, nessuna vista denominata modulo – Shilo

+0

@Chris_S: la configurazione del pacchetto è davvero complessa quando si inserisce uno script nel file '__init__'. Come stai attualmente eseguendo il server, con 'python app/__ init __. Py'? –

+0

Sì, il contenuto di init dovrebbe essere nel proprio file? – Shilo

Problemi correlati