2013-10-10 3 views
0

J'ai créé une application Flask avec la structure suivante:App retourne 404 au démarrage

/nhs-listpull 
/listpull 
    /static 
    /templates 
    __init__.py 
    models.py 
    views.py 
app.db 
config.py 
run.py 

run.py

from listpull import app 
app.run(debug=True) 

/listpull/__init__.py

from flask import Flask 
from flask.ext.sqlalchemy import SQLAlchemy 
from mom.client import SQLClient 
from smartfocus.restclient import RESTClient 

app = Flask(__name__) 
app.config.from_object('config') 

db = SQLAlchemy(app) 
... 

/listpull /views.py

import logging 
import time 
from flask import request, render_template, flash, redirect, send_file 
from zlib import compress, decompress 
from StringIO import StringIO 


@app.route('/') 
def index(): 
    ... do stuff ... 
    return render_template('jobs.html', jobs=jobs) 

Lorsque je cours ./run.py le serveur Web démarre, mais la navigation renvoie 404.

Une idée pourquoi?

Répondre

0

listpull/views.py est jamais importé, donc aucune route ne sera enregistrée. Vous devez importer dans votre fichier __init__.py (attention aux importations circulaires):

... 

app = Flask(__name__) 
app.config.from_object('config') 

db = SQLAlchemy(app) 

... 

import listpull.views 
+0

ok, donc maintenant je reçois /listpull/views.py « NameError: nom « app » est pas défini » pour @app .route ('/') –

+0

@MarkRichman: Vous devez l'importer: 'depuis l'application d'importation listpull'. – Blender

+0

Pourquoi pas 'from. importer l'application'? –

Questions connexes