如何用Sanic輸出模板

     Steven最近因爲工作需要,在學習Sanic,上網搜索之後發現, 針對於Sanic的資料相對比較少,所以想要快速上手還是有一定的困難的。輸出最簡單的Hello world可以說是手到擒來

from  sani import Sanic,response

app = Sanic()

@app.route('/')
async def rindex(request):  #每一個函數裏面必備的參數就是request參數
    return response.json({'Hello':"World"})


if __name__ == "__main__":
    app.run('127.0.0.1',8009,debug=True,worker=4)

 

那麼如何把我們能夠快速向其他模板一樣,輸出HTML文件呢? 比較HTML 是客戶與我們交互的關鍵所在

首先,我們在py文件同級目錄下面創建一個templates 文件,然後在裏面創建一個index.html文件 

<html>
<head>
</head>

<body>
	<table style="border:1px solid gray;padding:0 0 5px;">
	{%for d in data%}
	
	<tr>
		<td>{{d.name}}</td>
		<td>{{d.age}}</td>
	</tr>
	{%endfor%}
	</table>
</body>
</html>

Sanic沒有自帶的HTML模板引擎,需要我們先安裝。

在命令行裏面調用 

 pip install sanic-jinja2

然後我們在py 文件裏面引入html 進行設置引入即可

from sanic import Sanic,response
from sanic_jinja2 import SanicJinja2 as sj

app = Sanic(__name__)
tp = sj(app)

@app.route('/head')
@tp.template('index.html')  #告訴服務器我們要加載的html文件
async def index(request):
    return {
        'data':[
            dict(name='Tom',age=19),
            dict(name='Jerry',age=20),
            dict(name='Seagull',age=21)
        ]
    }

if __name__ == '__main__':
    app.run('127.0.0.1',8090,workers=4)

然後我們在瀏覽器裏面輸入127.0.0.1:8090/head 即可看到結果了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章