第 0023 题: 使用 Python 的 Web 框架,做一个 Web 版本 留言簿 应用。
思路:
Flask是一个使用 Python 编写的轻量级 Web 应用框架。
这个应用后台使用Flask,数据库用mongodb。之前用Tornado写过类似的,所以尝试下使用Flask。前端编写一下样式和模板,从后端返回数据渲染就可以了。留言的话提交给后端然后使用mongodb存放。因为这个应用比较简单,flask这种轻量级的框架和mongodb是合适的,而且简单易用。
代码:
这里只给出了py文件
完整代码请查看:github地址
run.py
from flask import Flask, request, render_template, url_for
import pymongo
import datetime
app = Flask(__name__)
# database setting
mongoClient = pymongo.MongoClient('localhost',27017)
db = mongoClient['msgboard']
# conn = pymongo.Connection('localhost',27017)
# msgboard = conn.msgboard
# msgboard.create_collection('msg')
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
return render_template('index.html', msglist=db['msg'].find())
else:
msg_collection = db['msg']
time = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')
msg_collection.insert({
'msg': request.form['msg'],
'time': time
})
return render_template('index.html', msglist=db['msg'].find())
if __name__ == '__main__':
app.run(debug=True)
运行效果: