-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
47 lines (35 loc) · 1.05 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import os
from flask import Flask, redirect, url_for, request, render_template
from pymongo import MongoClient
from redis import Redis
app = Flask(__name__)
redis = Redis(host='redis', port=6379)
client = MongoClient(
os.environ['DB_PORT_27017_TCP_ADDR'],
27017)
db = client.tododb
@app.route('/')
def todo():
_items = db.tododb.find()
items = [item for item in _items]
return render_template('todo.html', items=items)
@app.route('/new', methods=['POST'])
def new():
redis.incr('hits')
item_doc = {
'name': request.form['name'],
'description': request.form['description'],
'redis_count': redis.get('hits')
}
db.tododb.insert_one(item_doc)
return redirect(url_for('todo'))
@app.route('/delete', methods=['GET', 'POST'])
def delete():
db.tododb.delete_many({})
return redirect(url_for('todo'))
@app.route('/redis_remove', methods=['GET', 'POST'])
def redis_remove():
redis.set('hits', 0)
return redirect(url_for('todo'))
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True)