Spaces:
Sleeping
Sleeping
| from flask import Flask, render_template, request, redirect, url_for | |
| import sqlite3 | |
| app = Flask(__name__) | |
| # Initialize Database | |
| def init_db(): | |
| conn = sqlite3.connect('database.db') | |
| cursor = conn.cursor() | |
| cursor.execute(''' | |
| CREATE TABLE IF NOT EXISTS tasks ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| title TEXT NOT NULL, | |
| completed BOOLEAN NOT NULL DEFAULT 0 | |
| ) | |
| ''') | |
| conn.commit() | |
| conn.close() | |
| # Get all tasks | |
| def get_tasks(): | |
| conn = sqlite3.connect('database.db') | |
| cursor = conn.cursor() | |
| cursor.execute('SELECT * FROM tasks') | |
| tasks = cursor.fetchall() | |
| conn.close() | |
| return tasks | |
| # Home page - Show all tasks | |
| def index(): | |
| tasks = get_tasks() | |
| return render_template('index.html', tasks=tasks) | |
| # Add new task | |
| def add_task(): | |
| title = request.form.get('title') | |
| if title: | |
| conn = sqlite3.connect('database.db') | |
| cursor = conn.cursor() | |
| cursor.execute('INSERT INTO tasks (title) VALUES (?)', (title,)) | |
| conn.commit() | |
| conn.close() | |
| return redirect(url_for('index')) | |
| # Delete task | |
| def delete_task(task_id): | |
| conn = sqlite3.connect('database.db') | |
| cursor = conn.cursor() | |
| cursor.execute('DELETE FROM tasks WHERE id = ?', (task_id,)) | |
| conn.commit() | |
| conn.close() | |
| return redirect(url_for('index')) | |
| # Toggle task completion | |
| def toggle_task(task_id): | |
| conn = sqlite3.connect('database.db') | |
| cursor = conn.cursor() | |
| cursor.execute('UPDATE tasks SET completed = NOT completed WHERE id = ?', (task_id,)) | |
| conn.commit() | |
| conn.close() | |
| return redirect(url_for('index')) | |
| if __name__ == '__main__': | |
| init_db() | |
| app.run(debug=True, host="0.0.0.0", port=7860) |