django html模板的语法
最近遇到了从数据库查询出来的数据含有rn字符要在textaera展示,一直没有成功,现在也没有成功。查到这一个关于html的模板,记录一下。 转自:https://blog.csdn.net/qq_41654985/article/details/80690303 二、定义模板 2)标签 { % 代码块 % } 3)过滤器 4)注释{# 代码或html #} 2. 变量 {{ variable }} 3)变量名必须由字母、数字、下划线(不能以下划线开头)和点组成 4)当模版引擎遇到点("."),会按照下列顺序查询: 字典查询,例如:foo["bar"]?? {{foo.bar}} 6)在模板中调用方法时不能传递参数 3. 在模板中调用对象的方法和属性 2)作用 在输出中创建文本 { %include "foo/bar.html" % } { % url ‘name‘ ‘p1‘ ‘p2‘ %}?=’get 2)例如{ { name|lower }},表示将变量name的值变为小写输出 3)使用管道符号 (|)来应用过滤器 4)通过使用过滤器来改变变量的计算结果 ? 5.2 过滤器常用形式 if list1|length > 1 name|lower|upper list|join:","?? value|default:" value|date:‘Y-m-d‘ ? 5.3 Django 过滤器表 描述 示例 upper 以大写方式输出 {{ user.name | upper }} add 给value加上一个数值 {{ user.age | add:”5” }} addslashes 单引号加上转义号 ? capfirst 第一个字母大写 {{ ‘good’| capfirst }} 返回”Good” center 输出指定长度的字符串,把变量居中 {{ “abcd”| center:”50” }} cut 删除指定字符串 {{ “You are not a Englishman” | cut:”not” }} date 格式化日期 ? default 如果值不存在,则使用默认值代替 {{ value | default:”(N/A)” }} default_if_none 如果值为None,则使用默认值代替 ? dictsort 按某字段排序,变量必须是一个dictionary {% for moment in moments | dictsort:”id” %} dictsortreversed 按某字段倒序排序,变量必须是dictionary ? divisibleby 判断是否可以被数字整除 {{ 224 | divisibleby:“2”}}? 返回 True 按HTML转义,比如将”<”转换为”<” ?A = ‘<a href=>我爱你</a>’ filesizeformat 增加数字的可读性,转换结果为13KB,89MB,3Bytes等 {{ 1024 | filesizeformat }} 返回 1.0KB 返回列表的第1个元素,变量必须是一个列表 ? floatformat 转换为指定精度的小数,默认保留1位小数 {{ 3.1415926 | floatformat:3 }} 返回 3.142? 四舍五入 get_digit 从个位数开始截取指定位置的数字 {{ 123456 | get_digit:’1’}} join 用指定分隔符连接列表 {{ [‘abc’,’45’] | join:’*’ }} 返回 abc*45 length 返回列表中元素的个数或字符串长度 ? length_is 检查列表,字符串长度是否符合指定的值 {{ ‘hello’| length_is:’3’ }} linebreaks 用<p>或<br>标签包裹变量 {{ “HinnDavid”|linebreaks }} 返回<p>Hi</p><p>David</p> linebreaksbr 用<br/>标签代替换行符 ? linenumbers 为变量中的每一行加上行号 ? ljust 输出指定长度的字符串,变量左对齐 {{‘ab’|ljust:5}}返回 ‘ab?? ’ lower 字符串变小写 ? make_list 将字符串转换为列表 ? pluralize 根据数字确定是否输出英文复数符号 ? random 返回列表的随机一项 ? removetags 删除字符串中指定的HTML标记 {{value | removetags: “h1 h2”}} rjust 输出指定长度的字符串,变量右对齐 ? slice 切片操作, 返回列表 {{[3,9,1] | slice:’:2’}} 返回 [3,9] {{ ‘asdikfjhihgie‘ | slice:‘:5‘ }} 返回 ‘asdik’ 在字符串中留下减号和下划线,其它符号删除,空格用减号替换 {{ ‘5-2=3and5 2=3‘ | slugify }} 返回 5-23and5-23 字符串格式化,语法同python ? time 返回日期的时间部分 ? timesince 以“到现在为止过了多长时间”显示时间变量 结果可能为 45days,3 hours timeuntil 以“从现在开始到时间变量”还有多长时间显示时间变量 ? title 每个单词首字母大写 ? truncatewords 将字符串转换为省略表达方式 {{ ‘This is a pen‘ | truncatewords:2 }}返回 同上,但保留其中的HTML标签 {{ ‘<p>This is a pen</p>‘ | truncatewords:2 }}返回 将字符串中的特殊字符转换为url兼容表达方式 {{ ‘http://www.aaa.com/foo?a=b&b=c’ | urlencode}} urlize 将变量字符串中的url由纯文本变为链接 ? wordcount 返回变量字符串中的单词数 ? yesno 将布尔变量转换为字符串yes,no 或maybe {{ True | yesno }} 6. 注释 {#...#} ? {# { % if foo % }bar{ % else % } #} ? 在settings.py 中 配置? STATICFILES_DIRS = [os.path.join(BASE_DIR,‘static‘)] ? ?在html 第二行? {% load? ?staticfiles %} ? ?<link? href=‘{% static? ‘css/css文件‘ %}‘ > ? ? <script? src=‘{% static? ‘js/jquery.min.js‘ %}‘></script> ? ? <img src = ‘{%? static images/图片文件 %}‘ /> 三、模板继承 2)典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 3)block标签:在父模板中预留区域,在子模板中填充 4)extends继承:继承,写在模板文件的第一行 1.2 语法说明 block_name模板名字任意 { %block block_name%} { % extends "base.html" %} { %block block_name%} 说明 如果在模版中使用extends标签,它必须是模版中的第一个标签 1.1 视图代码和url配置 视图代码 #html自动转义案例 url(r‘^htmlTest/$‘,views.htmlTest,name=‘htmlTest‘), 1.2 模板代码 2.2 Django会将如下字符自动转义 {{t1|escape}} 案例 <!DOCTYPE html> 运行效果: ? 3.2 对于代码块使用autoescape标签 2)自动转义标签在base模板中关闭,在child模板中也是关闭的 ? 案例: <!DOCTYPE html> <hr/> ? ? 4. 手动转义 案例 <hr/> {{ xixi|default:"<h1>hello</h1>" }} </body></html>————————————————版权声明:本文为CSDN博主「奋斗的小小骚年」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_41654985/article/details/80690303 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |