from flask import Flask, request, jsonify import os import psycopg2 app = Flask(__name__) # Database Configuration db_host = os.environ.get("DB_HOST", "postgres_db") db_name = os.environ.get("POSTGRES_DB", "sampledb") db_user = os.environ.get("POSTGRES_USER", "user") db_password = os.environ.get("POSTGRES_PASSWORD", "password") def get_db_connection(): return psycopg2.connect(host=db_host, database=db_name, user=db_user, password=db_password) def create_table(): conn = get_db_connection() cur = conn.cursor() cur.execute(''' CREATE TABLE IF NOT EXISTS articles ( id SERIAL PRIMARY KEY, title TEXT NOT NULL, content TEXT NOT NULL ) ''') conn.commit() cur.close() conn.close() @app.route("/", methods=["GET", "POST"]) def index(): conn = get_db_connection() cur = conn.cursor() if request.method == "POST": title = request.form.get("title") content = request.form.get("content") if title and content: cur.execute("INSERT INTO articles (title, content) VALUES (%s, %s)", (title, content)) conn.commit() cur.execute("SELECT * FROM articles ORDER BY id DESC") articles = cur.fetchall() cur.close() conn.close() return f""" My Blog

My Blog

Articles

{''.join(f'

{a[1]}

{a[2]}

' for a in articles)}
""" @app.route("/delete/", methods=["POST"]) def delete_article(article_id): conn = get_db_connection() cur = conn.cursor() cur.execute("DELETE FROM articles WHERE id = %s", (article_id,)) conn.commit() cur.close() conn.close() return "" if __name__ == "__main__": create_table() app.run(host="0.0.0.0", port=5000)