diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..adb1749 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ + +FROM python:3.8.2 + +WORKDIR /app + +COPY . /app + +RUN pip install -r requirements.txt + +EXPOSE 5000 + +CMD ["python","app.py"] diff --git a/app.py b/app.py index 4b6ccca..08a17a8 100644 --- a/app.py +++ b/app.py @@ -3,48 +3,46 @@ app = Flask(__name__) -# /// = relative path, //// = absolute path app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) - class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) - title = db.Column(db.String(100)) - complete = db.Column(db.Boolean) + title = db.Column(db.String(100), nullable=False) + complete = db.Column(db.Boolean, default=False) +with app.app_context(): + db.create_all() @app.route("/") def home(): todo_list = Todo.query.all() return render_template("base.html", todo_list=todo_list) - @app.route("/add", methods=["POST"]) def add(): title = request.form.get("title") - new_todo = Todo(title=title, complete=False) - db.session.add(new_todo) - db.session.commit() + if title: + new_todo = Todo(title=title, complete=False) + db.session.add(new_todo) + db.session.commit() return redirect(url_for("home")) - -@app.route("/update/") +@app.route("/update/", methods=["POST"]) def update(todo_id): - todo = Todo.query.filter_by(id=todo_id).first() + todo = Todo.query.get_or_404(todo_id) todo.complete = not todo.complete db.session.commit() return redirect(url_for("home")) - -@app.route("/delete/") +@app.route("/delete/", methods=["POST"]) def delete(todo_id): - todo = Todo.query.filter_by(id=todo_id).first() + todo = Todo.query.get_or_404(todo_id) db.session.delete(todo) db.session.commit() return redirect(url_for("home")) if __name__ == "__main__": - db.create_all() - app.run(debug=True) + app.run(host="0.0.0.0", port=5000, debug=True) + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9b39114 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ + +#This Is Create For install Required Libraries Efficiently + +Flask + +Flask-SQLAlchemy