diff options
Diffstat (limited to 'app.py')
-rw-r--r-- | app.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/app.py b/app.py new file mode 100644 index 0000000..7a1b07f --- /dev/null +++ b/app.py @@ -0,0 +1,39 @@ +from flask import Flask, render_template, request, redirect, url_for +from peewee import SqliteDatabase +from models import Post +from forms import PostForm + +app = Flask(__name__) +app.config.from_object('config') + +db = SqliteDatabase('blog.db') + +@app.before_request +def before_request(): + db.connect() + +@app.after_request +def after_request(response): + db.close() + return response + +@app.route('/') +def index(): + posts = Post.select().order_by(Post.created_at.desc()) + return render_template('index.html', posts=posts) + +@app.route('/post/<int:post_id>') +def post(post_id): + post = Post.get(Post.id == post_id) + return render_template('post.html', post=post) + +@app.route('/create', methods=['GET', 'POST']) +def create(): + form = PostForm() + if form.validate_on_submit(): + Post.create(title=form.title.data, content=form.content.data) + return redirect(url_for('index')) + return render_template('create.html', form=form) + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file |