1
我有一種情況,用jinja2變量{{creditNumbers|safe}}
替換url字符串"/CreditHistory/10216"
,會加載JavaScript文件。更具體地說,這是有效的;js腳本不加載在jinja2模板
{% block Scripter %}
<script type="text/javascript" src="./static/assets/js/crossfilter/crossfilter.js"></script>
<script type="text/javascript" src="./static/assets/js/d3/d3.js" charset="utf-8"></script>
<script type="text/javascript" src="./static/assets/js/dc.js/dc.js"></script>
<script type="text/javascript" src="./static/assets/js/queue/queue.js"></script>
<script src='./static/assets/js/graphsFordringer.js' type='text/javascript' charset="utf-8"></script>
<script type="text/javascript">
queue().defer(d3.json, "/CreditHistory/10216").await(makeGraphs);
</script>
{% endblock %}
但是,這不;
{% block Scripter %}
<script type="text/javascript" src="./static/assets/js/crossfilter/crossfilter.js"></script>
<script type="text/javascript" src="./static/assets/js/d3/d3.js" charset="utf-8"></script>
<script type="text/javascript" src="./static/assets/js/dc.js/dc.js"></script>
<script type="text/javascript" src="./static/assets/js/queue/queue.js"></script>
<script src='./static/assets/js/graphsFordringer.js' type='text/javascript' charset="utf-8"></script>
<script type="text/javascript">
queue().defer(d3.json, "{{creditNumbers|safe}}").await(makeGraphs);
</script>
{% endblock %}
在Web瀏覽器中引發的錯誤意味着沒有任何JavaScript文件被加載。其中之一就是例如該隊列不是定義的功能。 同樣顯而易見的是,"{{creditNumbers|safe}}"
變量確實加載到"/CreditHistory/10216"
。所以,簡而言之,變量加載似乎會中斷JavaScript加載。並不是說我找到了文檔中類似問題的參考,所以可能不是發生了什麼事情。
編輯:
現在看來,我誤解了整個情況。它看起來像是在app.py
文件中聲明jinja2模板變量的方式,這是根本原因。
@app.route
失敗的代碼是;
@app.route('/KundeFordringer/<int:KundeNr>')
def fordringer(KundeNr):
jsonSti = "/CreditHistory/"+str(KundeNr)
return render_template("fordringer.html", creditNumbers=jsonSti)
但是,如果我將代碼更改爲以下,它工作正常;
@app.route('/KundeFordringer')
def fordringer():
return render_template("fordringer.html", creditNumbers="/CreditHistory/10216")
如前所述,觀看從web瀏覽器的源代碼,都可以看到使用第一@app.route
聲明時,該"/CreditHistory/10216"
加載。但顯然有些事情,從來沒有這樣做過,就這樣做。
任何幫助將不勝感激
嘗試刪除'|安全' – doru 2015-04-02 12:44:14
@doru,感謝您的建議,但現在看來我誤解了這個問題,並且問題來自'app.py'聲明,請參閱EDIT。 – Rookie 2015-04-02 14:37:45
從chrome開發工具中檢查您的'