django模板标签comment和upper简介
来源:互联网 发布:僵尸网络 编辑:程序博客网 时间:2024/06/06 06:41
{%comment%} 内容{%endcomment%}标签
代码:
def do_comment(parser,token): nodelist=parser.parse(('endcomment,')) #接收一个包含了需要分析的模板标签名的元组作为参数,返回一个django.temlate.NodeList,此时的nodelist是在{%comment%}和{%endcomment%}之间的所有节点列表,不包含其本身。 parser.delete_first_token() #此时的分析器还没有清除{%endcomment%}标签,因此调用此方法来防止标签被处理两次 return CommentNode()class CommentNode(template.Node):#此方法只是返回一个空字符串,导致{%comment%}和{%endcomment%}之间的内容被忽略 def render(self, context): return ''
再如:
{%upper%} {%endupper%}标签(转换大小写)
def do_upper(parser, token): nodelist = parser.parse(('endupper',)) parser.delete_first_token() return UpperNode(nodelist)class UpperNode(template.Node): def __init__(self, nodelist): self.nodelist = nodelist#此时将nodelist的值传到类似全局变量self.nodelist中方便下面使用 def render(self, context): output = self.nodelist.render(context)#对节点列表中的每个Node简单的调用render() return output.upper()
如果想更深的了解,可以查看比较复杂渲染示例django/template/defaulttags.py中的{%if%}、{%for%}、{%ifequal%}和{%ifchanged%}的代码。
0 0
- django模板标签comment和upper简介
- 自定义Django模板过滤器和标签
- django 自定义模板标签和过滤器
- Django自定义模板过滤器和标签
- django 自定义模板标签和过滤器
- Django-模板(内置标签和过滤器)
- Django模板---标签
- django 模板标签 过滤器
- django 模板标签
- django模板标签
- django 模板标签 过滤器
- Django笔记 模板 标签
- Django 模板标签
- Django模板简介
- Django 内建的模板标签和过滤器
- Django和Angular.js模板标签冲突的解决方式
- 08.Django自定义模板,自定义标签和自定义过滤器
- django 学习 (四) 模板标签
- VBS 采用单例模式来封装 操作Excel类
- “error LNK2019:无法解析的外部符号”的解决方案
- C++ 指针和引用的比较
- 30大最有影响力的Web设计与开发英文博客
- MySQL学习笔记 4 -触发器、MySQL视图
- django模板标签comment和upper简介
- 安全测试方法
- jsvc - 关于Apache Common Daemon 看护进程
- 阅读笔记转载链接
- org.dom4j.DocumentException: no protocol
- 杨辉三角的变形
- Android 4.2 Wifi Display 之 Settings 源码分析(一)
- HTML 5 CSS可以帮你实现圆角
- 程序当中错误的产生、响应及处理