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 即可看到結果了。