用flask加載靜態html模板,並解決路由要加static的問題

轉載自:https://blog.csdn.net/ronnyjiang/article/details/68925756

Flask對Jinja2模版引擎支持很好,但無奈其所有靜態文件都要放在static文件夾中(URL路由得加/static/...)

於是Google解決方案,找到這篇博文: 
https://vilimpoc.org/blog/2012/11/21/serving-static-files-from-root-and-not-static-using-flask/

博主說實例化Flask類的時候做一個小設置static_url_path=''即可,把static_url_path設置爲空字符串相當於設置把所有根目錄下URL的訪問都關聯到/static/目錄下,所以靜態HTML模版中直接可以引用/js/something.js而不是/static/js/something.js這樣麻煩咯

雖然他們實際上還是存放在/static/目錄下,只是修改了映射關係

順帶推薦一個HTML5優質模版網站(全免費):http://html5up.net/

最後完整的py文件:
--------------------- 

rom flask import Flask

app = Flask(__name__,static_url_path='',root_path='/home/ronny/mywebsite')    
#靜態模板index.html等都放在‘/home/ronny/mywebsite/static/'下。 路由不用再加’/static/index.html‘而是'index.html'就好
@app.route('/')
def index():
    return app.send_static_file('index.html')


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=8081,debug=True)   #真正運行時不要用debug=True


作者:RonnyJiang 
來源:CSDN 
原文:https://blog.csdn.net/ronnyjiang/article/details/68925756 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

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