我正在使用 Flask 和 Plotly 創建一些交互式圖形,并希望將其嵌入 HTML 文件中。這篇文章提供了一個很好的方法(我正在關注第二個答案)。將生成的 div 嵌入 HTML 時遇到問題。div 生成成功。如果我打印它,它將以 HTML 結構顯示,如下所示:<div> <div id="e185b843-63b6-422c-984c-e6743efc08a4" class="plotly-graph-div" style="height:100%; width:100%;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("e185b843-63b6-422c-984c-e6743efc08a4")) { Plotly.newPlot( 'e185b843-63b6-422c-984c-e6743efc08a4', [{"type": "scatter", "x": [1, 2, 3, 4, 5], "y": [1, 2, 6, 4, 1]}, {"type": "scatter", "x": [1, 2, 3, 4, 5], "y": [3, 4, 1, 2, 3]}], {"responsive": true} ) }; </script> </div>如果我將此 div 粘貼到我的 HTML 中,它就可以工作。該網站將顯示圖表。我希望能夠自動更新 HTML 文件中的這個 div,所以我使用 Jinja 來設置它。在我的主要 Python 應用程序中,我有以下代碼:@app.route("/index")def home(): my code return render_template("home.html", graph=graph)變量“graph”將包含我的 div。在我的 HTML 中,我有以下內容可以從我的應用程序中獲取 div:{{graph}}HTML 結構已消失,因此我無法再生成該圖表。有沒有辦法讓生成的 div 保持正確的 HTML 結構?或者我使用 Jinja 的方式是錯誤的?謝謝您的幫助!
1 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
更改神社代碼{{graph|safe}}
為什么它有效?當您將 html 傳遞給 jinja 代碼時,它會轉義 html 代碼并將其顯示為文本。
因此,您需要將其標記為安全,以便 jinja 實際顯示 html 或呈現 html 代碼。因此,每當您想在 jinja 中渲染 html 代碼時,請使用|safe
添加回答
舉報
0/150
提交
取消