Bottle框架 模板引擎
模板引擎是一个旨在将模板与数据模型结合以生成结果文档的库。
默认情况下,Bottle 使用自带的简单的模板引擎。
$ mkdir botview && cd botview $ mkdir views $ touch views/show_cars.tpl app.py
我们为应用创建目录和文件。
views/show_cars.tpl
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Cars</title> </head> <body> <table> <tr> <th>Name</th> <th>Price</th> </tr> % for car in cars: <tr> <td>{{car['name']}}</td> <td>{{car['price']}}</td> </tr> % end </table> </body> </html>
在此模板中,我们浏览接收到的cars
对象并从中生成一个表。 模板文件位于views
目录中。
app.py
#!/usr/bin/env python3 from bottle import route, run, template, HTTPResponse from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') @route('/cars') def getcars(): db = client.testdb data = db.cars.find({}, {'_id': 0}) if data: return template('show_cars', cars=data) else: return HTTPResponse(status=204) run(host='localhost', port=8080, debug=True)
在应用中,我们从 MongoDB 集合中检索数据。 我们使用template()
功能将模板文件与数据结合在一起。