《Django By Example》第三章 中文 翻译[精品].doc

《Django By Example》第三章 中文 翻译[精品].doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Django By Example》第三章 中文 翻译[精品]

《Django By Example》第三章 中文 翻译 (个人学习,渣翻) 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中图片比较模糊,毕竟都是从PDF中截图出来的,有点丢像素,大致能看就行- -,另外还是渣翻,但个人觉的比前两章翻译的稍微进步了那么一点点- -,希望后面几章翻译的越来越溜,就这样) 第三章 扩展你的blog应用 在上一章中我们学习了表单的基础和在你的项目集成第三方的应用。这一章将会覆盖以下内容: 创建定制的模板标签(template tags)和过滤器(filters) 添加一个站点地图和帖子反馈(post feed) 使用Solr和Haystack构建一个有哪些信誉好的足球投注网站引擎 创建定制的模板标签(template tags)和过滤器(filters) Django提供了很多内置的标签(tags),例如{% if %}或者{% block %}。你已经使用过一些在你的模板(template)中。你可以在中找到更多关于内置模板标签(template tags)以及过滤器(filter)的参考。 当然,Django也允许你创建自己的模板标签(template tags)来执行定制的动作。当Django的内置模板标签(template tags)无法提供你需要在模板(template)执行的功能,你会发现能创建定制的模板标签(template tags)非常的有用。 创建定制的模板标签(template tags) Django提供了以下帮助函数(functions)来允许你通过一种简单的方式创建自己的模板标签(template tags): simple_tag:处理数据并返回一个字符串(string) inclusion_tag:处理数据并返回一个渲染过的模板(template) assignment_tag:处理数据并在上下文(context)中放置一个变量(variable) 模板标签(template tags)必须存在Django的应用中。 进入你的blog应用目录,创建一个新的目录命令为templatetags然后在该目录下创建一个空的init.py文件。接着在该目录下继续创建一个文件命名为blog_tags.py。到此,我们的blog应用文件结构应该如下所示: blog/ __init__.py models.py ... templatetags/ __init__.py blog_tags.py 文件的命令是非常重要的。你需要使用这些模块的命名在模板(template)中加载你的标签(tags)。 我们将要开始创建一个简单标签(simple tag)来获取blog中所有已发布的帖子总数。编辑你刚才创建的blog_tags.py文件,加入以下代码: from django import template register = template.Library() from ..models import Post @register.simple_tag def total_posts(): return Post.published.count() 到目前为止,我们已经创建了一个简单的模板标签(template tag)用来取回所有已发布的帖子总数。每一个模板标签(template tags)都需要包含一个叫做register的变量来表明自己是一个有效的标签(tag)库。这个变量是template.Library的一个实例,它是用来注册你自己的模板标签(template tags)和过滤器(filter)。我们定义了一个名为total_posts的标签,通过编写一个Python函数并且使用了@register.simple-tag装饰器使之成为一个简单标签(tag)并登记注册。 Django将会使用这个函数名作为标签(tag)名。如果你想使用别的名字来注册这个标签(tag),你可以指定装饰器的name属性,比如@register.simple_tag(name=my_tag)。 在添加了新的模板标签(template tags)模块后,你必须重启Django开发服务才能使用新的模板标签(template tags)和过滤器(filters)。 在使用定制的模板标签(template tags)之前,你必须在模板(template)中使用{% load %}来加载它们才能生效。就像之前提到的,你需要使用包含了你的模板标签(template tags)和过滤器(filter)的Python模块的名字。打开blog/base.html模板(template)在顶部添加{% load blog_tags %}加

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档