您好,登錄后才能下訂單哦!
使用django怎么實現在模板中轉義字符串?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
模板中的字符串文字不會自動轉義,因為這里默認模板的作者已經正確書寫模板的內容。
{{ data|default:"This is a string literal." }}
如果我們在data不存在時,顯示默認文字“3 < 2”,則代碼如下:
{{ data|default:"3 < 2" }}
注意:不應該寫成如下形式
{{ data|default:"3 < 2" }}
雖然,兩種方式的頁面顯示結果一致,均為3 < 2,但是后者超出了模板作者的控制范圍。
補充知識:Django view通過render將“字符串”傳給頁面插件時,值被截斷問題
view.py中代碼:
# startTime = request.POST.get('startTime') startTime = '2019-10-10 01:01:01' endTime = request.POST.get('endTime') hostname = d1.hostname ip = d1.ip port = d1.port user = d1.user password = d1.password cmd = '/bin/python /home/db/mysql/scripts/analyze_binlog.py \''+ str(startTime) + '\' \'' +str(endTime)+'\'' result = operation(ip, port, user, password, cmd) context={'status':result,'id':id,'hostname':hostname,'startTime':startTime,'endTime':endTime} return render(request, 'instance/binlog/show_analyze_binlog.html', context)
頁面show.html
</script> {#<div class="ibox-title">#} <form id="show_binlog_detail" name="show_binlog_detail" action="?" method = 'post' > 序號:<input type="text" name="id" value={{ id }}><br> 系統名:<input type="text" name="hostname" value={{ hostname }} ><br> 開始時間:<input type="text" name="startTime" maxlength="19" value= {{ startTime }}><br> 結束時間:<input type="text" name="endTime" value= {{ endTime }} ><br> <input type="button" id="show_binlog_detail" onclick="submitSelet('show_binlog_detail')" value="分析" /> </form> <table> {% for i in status %} <tr> <td>{{ i }}</td> </tr> {% endfor %} </table>
view.py中startTime = '2019-10-10 01:01:01' 傳給頁面form中name='startTime'時值被截斷成'2019-10-10'
其原因是value={{ startTime}} 沒加雙引號
改成:
開始時間:
<input type="text" name="startTime" maxlength="19" value= "{{ startTime }}" ><br>
結束時間:
<input type="text" name="endTime" value= "{{ endTime }}" ><br>
關于使用django怎么實現在模板中轉義字符串問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。