/
flask_test.py
61 lines (50 loc) · 1.66 KB
/
flask_test.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from flask import Flask, request, redirect, render_template, url_for, jsonify
import simplejson
from flask.ext.mongoengine import MongoEngine
import time
from types import ModuleType
from itertools import groupby
from mongoengine import Document, ObjectIdField, queryset, StringField, ListField, IntField, FloatField, DateTimeField, EmbeddedDocumentField
app = Flask(__name__)
app.config["MONGODB_DB"] = "tasks"
app.config["SECRET_KEY"] = "KeepThisS3cr3t"
db = MongoEngine(app)
def querySetToMongo(queryset):
a = list()
for i in queryset:
a.append(i.to_mongo())
for i in a:
del i['_id']
return a
class Task(Document):
created_at = db.FloatField(default=time.time(), required=True)
title = db.StringField(max_length=255, required=True)
body = db.StringField(required=True)
status = db.StringField(required=True)
task_id = db.SequenceField(required=True)
def __unicode__(self):
return self.body
meta = {
'allow_inheritance': False,
'indexes': ['-created_at', 'title'],
'ordering': ['-created_at']
}
@app.route('/')
def index():
tasks_query = Task.objects.all()
tasks = querySetToMongo(tasks_query)
return jsonify(tasnks = tasks)
# return render_template('list.html', tasks=tasks)
@app.route('/add/')
def add():
post = Task(title ='test', slug = 'test', body = 'testbody', status = '1')
post.save()
tasks = Task.objects.all()
return render_template('list.html', tasks=tasks)
@app.route('/delete/<id>')
def delete(id):
tasks = Task.objects.get(task_id=id)
tasks.delete()
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)