2012-06-13 75 views
2

我是一個Django開發人員學習燒瓶。我對Flask中的工作方式很陌生。當我訪問localhost:5000時,出現以下代碼404。有人可以解釋爲什麼我得到這個:爲什麼我在Flask中出現404錯誤?

在服務器上找不到請求的URL。 如果您手動輸入網址,請檢查拼寫並重試。

from flask import Flask 
from flask.ext.sqlalchemy import SQLAlchemy 

from datetime import datetime 

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////media/workdrive/workspace/purkinje/temp.db' 
app.debug = True 
db = SQLAlchemy(app) 

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

class Post(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    title = db.Column(db.String(80)) 
    body = db.Column(db.Text) 
    pub_date = db.Column(db.DateTime) 

    category_id = db.Column(db.Integer, db.ForeignKey('category.id')) 
    category = db.relationship('Category', backref=db.backref('posts', lazy='dynamic')) 

    def __init__(self, title, body, category, pub_date=None): 
     self.title = title 
     self.body = body 
     if pub_date is None: 
      pub_date = datetime.utcnow() 
     self.pub_date = pub_date 
     self.category = category 

    def __repr__(self): 
     return '<Post %r>' % self.title 

class Category(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(50)) 

    def __init__(self, name): 
     self.name = name 

    def __repr__(self): 
     return '<Category %r> % self.name' 

@app.route('/') 
def index(): 
    posts = Post().query.all() 
    return render_template('templates/index.html', posts=posts) 

回答

13

你註冊你的處理程序之前調用app.run()。您應該將整個if __name__ == '__main__'塊移到腳本的底部。

+0

我覺得這很簡單。謝謝! –

相關問題