summary refs log tree commit diff
path: root/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'app.py')
-rw-r--r--app.py39
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