sanic是一个python的异步的框架,既然是框架自然我们可以用它来建站。但是sanic自身也不带渲染模板的功能,所以还是用了jinja2的sanic版本进行渲染了。
from sanic import Sanic, response
from sanic.response import json, text
from sanic_jinja2 import SanicJinja2
app = Sanic(__name__)
tp = SanicJinja2(app)
app.static('/static', './static')
@app.route('/')
@tp.template('index.html')
async def index(request):
data = {}
return data
if __name__ == "__main__":
app.run(host="127.0.0.1", port=8000)
先引入sanic_jinja2的库,然后在路径下面加上@tp.template('模板文件名'),默认是位置是template下面,如果下面还有文件就从template往回的路径加进去就好。
data是需要传的参数,以字典的格式写就行,在模板中参数的用法和flask一样,直接{{}}调用就好。
当然这个格式是固定路径渲染固定的模板,如果是一个路径通过判断因素判断,然后渲染不同模板怎么办?没事,下面还有
@app.route('/')
async def index(request):
return tp.render('index.html', request, greetings='Hello, sanic!')
这种渲染方式和flask的jinja2是一样的,直接带着模板名和参数就可以选择指定的模板了。
不过蓝图中怎么用小编到现在还不知道,有哪位大神会在蓝图中使用的麻烦教一教。
最后留个外链吧。