最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Django自定义模板标签和过滤器(代码示例)

来源:动视网 责编:小采 时间:2020-11-27 14:20:23
文档

Django自定义模板标签和过滤器(代码示例)

Django自定义模板标签和过滤器(代码示例):本篇文章给大家带来的内容是关于Django自定义模板标签和过滤器(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、创建模板库在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例
推荐度:
导读Django自定义模板标签和过滤器(代码示例):本篇文章给大家带来的内容是关于Django自定义模板标签和过滤器(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、创建模板库在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例


本篇文章给大家带来的内容是关于Django自定义模板标签和过滤器(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、创建模板库

在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例如myfilters.py。

在这个模块中编写相关代码。

注意:templatetags所在APP应该在配置文件中进行配置。

2.定义过滤器

过滤器是一个函数,第一个参数是被处理的值,之后,可以有任意个参数,作为过滤器参数。

from django import template
from django.template.defaultfilters import stringfilter

register=template.Library()

# 去除指定字符串
@register.filter(name='mycut')
@stringfilter
def mycut(value,arg):
 return value.replace(arg,'')

# 注册过滤器
# register.filter(name='mycut',filter_func=mycut)

3.定义标签

simple_tag

处理数据,并返回具体数据

@register.simple_tag(name='posts_count')
def total_posts():
 return Post.published.count()

inclusion_tag

处理数据,并返回一个渲染的模板

@register.inclusion_tag('blog/post/latest.html')
def show_latest_posts(count=5):
 latest_posts=Post.published.order_by('-publish')[:5]
 return {
 'latest_posts':latest_posts,
 }

blog/post/latest.html内容如下:

<strong>最新文章</strong>
<ul>
{% for post in latest_posts %}
<li>
 <a href="{% url 'blog:post_detail' post_id=post.id %}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>

4.使用

使用自定义的标签或过滤器之前,在模板文件中,需要使用 {% load 模块名称 %} 加载自定义的标签和过滤器。

之后,就可以向使用Django自带的标签一样使用了。

注意:即使当前模板继承的基模板中已经load了自定义标签或过滤器所在的模块,在当前模板中,依然需要再次load。

【相关推荐:python视频教程】

文档

Django自定义模板标签和过滤器(代码示例)

Django自定义模板标签和过滤器(代码示例):本篇文章给大家带来的内容是关于Django自定义模板标签和过滤器(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、创建模板库在某个APP所在目录下新建包templatetags,然后在其中创建存储标签或者过滤器的的模块,名称随意,例
推荐度:
标签: 标签 自定义 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top