##app.py
import pymongo
from datetime import datetime
from flask import Flask,render_template,url_for,redirect,request
app = Flask(name)
##數據庫實例
connest =pymongo.MongoClient(‘127.0.0.1’,27017)
db = connect.todo
#mongo TODO文檔結構
class Todo(object):
“”"
一行代辦事項數據結構字段:事項內容,添加創建時間,狀態(未完成,已完成),完成時間
“”"
@staticmethod
def cleate_doc(self,content):
return{
‘content’:content,
‘create_time’:datetime.now(),
‘status’:0,
‘finish_time’:None}
@app.route(’/’)
def index():
return redirect(url_for(‘get’))
@app.route(’/get’)
def get():
“”“展示TODO列表”""
todo_list = db.todo.find({})
print(todo_list)
return render_template(‘index.html’,todo_list = todo_list)
@app.route(’/add’,methods=[‘POST’])
def add():
“”“添加一條todo”""
form = request.form
content = form[‘content’]
print(content)
if content:
affected_id = db.todo.insert_one({
“content”:content,
“create_time”:datetime.now(),
“status”:0,
“finish_time”})
print(affectde_id)
if affected_id:
return redirect(url_for(‘index’))
@app.route(’/finish’)
def finish():
“”“更新狀態爲已完成”""
pass
@app.route(’/delete’)
def delete():
“”“刪除無用的todo”""
args = request.args
content = args[‘content’]
print(content)
affect_id = db.todo.remove({‘content’:content})
print(affect_id)
return redirect(url_for(‘index’))
if name==‘main’:
app.run()
#index.html
{% extends ‘base.html’ %}
{% block title%}代辦事項程序{%endblock%}
{% blaock content %}
{% for todo in todo_list %}
{% if todo.status ==0%}
{%elif todo.status == 1%}
{% endif%}
{% endfor%}
轉態 | 內容 | 刪除 | 完成 | |
未完成 | 已完成 | {{todo.content}} | × | √ |
{%endblock%}
##base.html
!DOCTYPE html>