潘飞

潘飞的博客

他的个人主页  他的博客

django Tag

潘飞  2009年10月27日 星期二 11:05 | 1759次浏览 | 5条评论

 
  模板标签可以串联工作。比如,标准的{% comment %}标签将隐藏{% endcomment %}之前的内容。
  
要创建这样的标签,在你的编译函数中使用parse.parse()。

这是标准的{% comment %}的实现:
def
do_comment ( parser , token ):
nodelist = parser . parse (( 'endcomment' ,))
parser . delete_first_token ()
return CommentNode ()

class CommentNode ( template . Node ):
def render ( self , context ):
return ''

parse.parse()
接受一个元组的块标签的名字来“直到”。它返回 一个django.template.NodeList的实例

,这个是在它遇到在这个元组里的任何的标签名字之前,解析器遇到的所有Node的列表。

nodelist = parser . parse (( 'endcomment' ,)) 中,nodelist是{% comment %}和{% endcomment %}
之间的所有nodes,不包含{% comment %}和{% endcomment %}本身。

parse.parse()调用之后,解析器还没有“消费”掉{% endcomment %}标签,所以,代码需要显示地
调用
parser.delete_first_token()

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
孙铭阳

回复 孙铭阳  2009年10月28日 星期三 01:29

加入 HTML 编辑是王道啊

0条回复

李晓谦

回复 李晓谦  2009年10月27日 星期二 15:18

话说哲思的Blog系统太烂了
很多人都说过了
也不知道改进下。。。

0条回复

潘飞

回复 潘飞  2009年10月27日 星期二 13:02

居然会这个样子??我以为修改好了呢?????、、

1条回复

邹阳

回复 邹阳  2009年10月27日 星期二 11:24

呵呵,谢谢分享
好长的文章呀,嗯嗯,要是哲思能有类似javaeye csdn那种专门贴代码的模板就好了

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号