使用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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。