2015-07-12 15 views
5

katalog:Dlaczego moja funkcja widoku 404? Struktura

__init__:

from flask import flask 

app = Flask(__name__) 


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

Odwiedzin:

from app import app 

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

Mam nadzieję, że ktoś może wyjaśnić, co robię źle tutaj - Chyba jestem nie rozumiem, jak poprawnie importować app. Powoduje to 404. Jednak po przeniesieniu widoków z powrotem do __init__ wszystko działa poprawnie.

Odpowiedz

6

Trzeba wyraźnie zaimportować moduł views w swojej __init__:

from flask import flask 

app = Flask(__name__) 
from . import views  

bez importowania moduł, widok rejestracje nie są wykonane.

Zachowaj fragment skryptu poza paczką. Dodaj osobny plik w katalogu Final_app (poza katalogiem app), który uruchamia twój serwer programistyczny; powiedz run.py:

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

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

Czy moja struktura katalogów jest poprawna, czy też brakuje mi czegoś innego? Im nie można importować widoków, Brak widoków o nazwach modułów – Shilo

+0

@Chris_S: konfiguracja twojego pakietu jest rzeczywiście skomplikowana, kiedy umieszczasz skrypt w pliku '__init__'. W jaki sposób aktualnie używasz serwera z 'python app/__ init __. Py'? –

+0

Tak, czy zawartość init powinna znajdować się w ich własnym pliku? – Shilo

Powiązane problemy