2012-06-13 6 views
2

저는 플라스크를 배우는 Django 개발자입니다. 나는 플라스크에서 일하는 법에 꽤 새롭다. localhost:5000을 방문하면 다음 코드로 404가 표시됩니다. 누군가 내가 이것을 얻는 이유를 설명해 줄 수 있습니까?플라스크에서 404 오류가 발생하는 이유는 무엇입니까?

요청한 URL을 서버에서 찾을 수 없습니다. 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

나는 그것이 그렇게 단순한 것이라고 생각했습니다. 감사! –

관련 문제