django实现模板中的字符串文字和自动转义

作者:宁静致远_LL专栏 时间:2023-10-18 16:49:46 

本文只考虑模板中的字符串,不考虑字符串中带标签的情况。

模板中的字符串文字不会自动转义,因为这里默认模板的作者已经正确书写模板的内容。

{{ data|default:"This is a string literal." }}

如果我们在data不存在时,显示默认文字“3 < 2”,则代码如下:

{{ data|default:"3 &lt; 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>

就不会截断。

来源:https://blog.csdn.net/u011300968/article/details/75503300

标签:django,字符串,文字,转义
0
投稿

猜你喜欢

  • Python3 Tkinkter + SQLite实现登录和注册界面

    2023-10-01 14:56:15
  • Python selenium模拟网页点击爬虫交管12123违章数据

    2023-09-26 18:30:37
  • 详解webpack编译速度提升之DllPlugin

    2024-02-23 20:57:10
  • php源码的使用方法讲解

    2023-06-17 21:47:02
  • 教你在SQL Server 2000数据库中使用分区

    2008-11-25 11:55:00
  • python的类class定义及其初始化方式

    2023-08-07 11:52:15
  • Linux环境下安装MySQL8.0的完整步骤

    2024-01-22 05:26:47
  • Web设计色彩速查表

    2009-12-21 16:24:00
  • python dict 相同key 合并value的实例

    2021-06-17 09:07:43
  • 轻量级的Web框架Flask 中模块化应用的实现

    2021-04-07 13:08:16
  • 基于python if 判断选择结构的实例详解

    2023-01-15 22:45:03
  • 详解python文件的操作和异常的处理

    2021-06-07 04:05:37
  • python数据库操作指南之PyMysql使用详解

    2023-01-02 04:04:17
  • asp截取字符串的两种应用

    2009-08-19 17:11:00
  • python安装cx_Oracle和wxPython的方法

    2022-07-31 11:33:04
  • Python基础知识之函数,类,模块

    2022-10-28 05:25:36
  • MySQL 8.0新特性 — 管理端口的使用简介

    2024-01-28 21:53:46
  • Python实现ATM简单功能的示例详解

    2021-07-17 12:06:46
  • Python使用matplotlib和pandas实现的画图操作【经典示例】

    2023-03-24 16:07:16
  • 浅谈Python2获取中文文件名的编码问题

    2021-08-11 08:18:45
  • asp之家 网络编程 m.aspxhome.com