pip install Flask
pip install sqlite3
python
from flask import Flask, render_template, request, redirect
import sqlite3
python
app = Flask(__name__)
python
def get_db_connection():
conn = sqlite3.connect('database.db')
conn.row_factory = sqlite3.Row
return conn
python
@app.route('/')
def index():
conn = get_db_connection()
posts = conn.execute('SELECT * FROM posts').fetchall()
conn.close()
return render_template('index.html', posts=posts)
python
@app.route('/add', methods=['POST'])
def add():
author = request.form['author']
content = request.form['content']
conn = get_db_connection()
conn.execute('INSERT INTO posts (author, content) VALUES (?, ?)',
(author, content))
conn.commit()
conn.close()
return redirect('/')
python
@app.route('/delete/<int:id>', methods=['POST'])
def delete(id):
conn = get_db_connection()
conn.execute('DELETE FROM posts WHERE id = ?', (id,))
conn.commit()
conn.close()
return redirect('/')
python
@app.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit(id):
conn = get_db_connection()
post = conn.execute('SELECT * FROM posts WHERE id = ?', (id,)).fetchone()
if request.method == 'POST':
author = request.form['author']
content = request.form['content']
conn.execute('UPDATE posts SET author = ?, content = ? WHERE id = ?',
(author, content, id))
conn.commit()
conn.close()
return redirect('/')
conn.close()
return render_template('edit.html', post=post)
python
if __name__ == '__main__':
app.run(debug=True)