1. 問題描述
在使用flask開發web的時候啊,並不是所有的頁面都需要template進行修飾吧,如果我們用return render_template("xxx/xxx/xxx.html")
來進行頁面跳轉xxx.html
,那么xxx.html
一定是經過模板引擎(如jinja2)修飾過的,純靜態html應該沒什么問題,但是如果這個靜態頁面使用anjularjs,靜態頁面代碼部分{{}}
會jinja2給理解成它自己的東東,這不就造成混亂了!怎么辦呢?
2. 解決辦法
我們可以通過在from flask import send_file
通過return send_file("xxx/xxx/xxx.html")
來返回靜態html,這個html不經過jinja2修飾,會達到跟直接瀏覽器打開一樣的效果。
如下我使用藍圖的時候的代碼片段
from flask import Blueprint,render_template,send_file
rally_keystone = Blueprint('rally_keystone',__name__,url_prefix='/rally/keystone')
@rally_keystone.route('/')
@rally_keystone.route('/index')
def index():
return render_template('rally/keystone/keystone_index.html')
@rally_keystone.route('/detail')
def detail():
return send_file("templates/rally/keystone/test.html")