django實現(xiàn)模板中的字符串文字和自動轉(zhuǎn)義
本文只考慮模板中的字符串,不考慮字符串中帶標(biāo)簽的情況。
模板中的字符串文字不會自動轉(zhuǎn)義,因為這里默認(rèn)模板的作者已經(jīng)正確書寫模板的內(nèi)容。
{{ data|default:'This is a string literal.' }}
如果我們在data不存在時,顯示默認(rèn)文字“3 < 2”,則代碼如下:
{{ data|default:'3 < 2' }}
注意:不應(yīng)該寫成如下形式
{{ data|default:'3 < 2' }}
雖然,兩種方式的頁面顯示結(jié)果一致,均為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 name='show_binlog_detail' action='?' method = ’post’ > 序號:<input type='text' name='id' value={{ id }}><br> 系統(tǒng)名:<input type='text' name='hostname' value={{ hostname }} ><br> 開始時間:<input type='text' name='startTime' maxlength='19' value= {{ startTime }}><br> 結(jié)束時間:<input type='text' name='endTime' value= {{ endTime }} ><br> <input type='button' 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>
結(jié)束時間:
<input type='text' name='endTime' value= '{{ endTime }}' ><br>
就不會截斷。
以上這篇django實現(xiàn)模板中的字符串文字和自動轉(zhuǎn)義就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法2. Nginx+php配置文件及原理解析3. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題4. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法5. JSP數(shù)據(jù)交互實現(xiàn)過程解析6. 淺談python出錯時traceback的解讀7. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解8. Ajax實現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)9. Python importlib動態(tài)導(dǎo)入模塊實現(xiàn)代碼10. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向
