Advertisement

Python Project With Source Code - Todo App Using Flask

Python Project With Source Code - Todo App Using Flask

Todo App using flask

Perform Operation like
1. Add Task
2. Delete Task
3. Update Task

To run app
- Create virtual Environment
- Install requirements
`pip install requirements.txt`
- run app
`py app.py`

*Requirements*
Flask==1.1.2
Flask-SQLAlchemy==2.4.4

Source code:

from flask import Flask, render_template, url_for, request, redirect
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
class Todo(db.Model):
id = db.Column(db.Integer, primary_key=True)
content = db.Column(db.String(200), nullable=False)
completed = db.Column(db.Integer, default=0)
pub_date = db.Column(db.DateTime, nullable=False,
default=datetime.utcnow)
def __repr__(self):
return "<Task %r>" % self.id
@app.route("/", methods=["POST", "GET"])
def index():
if request.method == "POST":
task_content = request.form["task"]
new_task = Todo(content=task_content)
try:
db.session.add(new_task)
db.session.commit()
return redirect("/")
except:
return "There is an issue"
else:
tasks = Todo.query.order_by(Todo.pub_date).all()
return render_template("index.html", tasks=tasks)
@app.route("/delete/<int:id>")
def delete(id):
task = Todo.query.get_or_404(id)
try:
db.session.delete(task)
db.session.commit()
return redirect("/")
except:
return "This is an Problem while deleting"
@app.route("/update/<int:id>", methods=["POST", "GET"])
def update(id):
task = Todo.query.get_or_404(id)
if request.method == "POST":
task.content = request.form["task"]
try:
db.session.commit()
return redirect("/")
except:
return "There is an issue"
else:
tasks = Todo.query.order_by(Todo.pub_date).all()
return render_template("index.html", update_task=task, tasks=tasks)
if __name__ == "__main__":
app.run(debug=True)

Post a Comment

0 Comments