(六)charper3-Extending Your Blog Application之djangoByExample阅读笔记

开发环境:ubuntu14.10 python3.5 django1.8

本篇要点:
• Creating custom template tags and filters
• Adding a sitemap and a post feed (暂时不写)
• Building a search engine with Solr and Haystack(暂时不写)

1、自定义template 标签:(1+2步):

PS:自定义的template标签有三种类型:
• simple_tag : Processes the data and returns a string
• inclusion_tag : Processes the data and returns a rendered template
• assignment_tag : Processes the data and sets a variable in the context
处理方法大同小异:
zero:建好目录和文件:在blog的这个app应用下新建templatetags文件夹,在该文件夹下,新建__init .py(init右边还要两下滑线,markdown显示不出来),再新建blog_tags.py(主要在这个文件中编辑新标签)
准备工作就绪,开始干活:
simple_tag-first:在blog_tags.py中添加:

from django import template
from ..models import Post
register = template.Library()
#这里的simple_tag可以理解为django对自定义标签的分类之一
@register.simple_tag
#这里的total_posts是会在html中使用的标签名
def total_posts():
    return Post.published.count()

simple_tag-second:在html中使用标签,这里是在/blog/templates/blog/base.html中添加:

<p>This is my blog. I've written {% total_posts %} posts so far.</p>

总体来说,自定义标签使用还是挺方便的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值