1.创建自定义标签
在项目的APP中新建一个Python Package-->blog_tags.py
代码:
from django import template from ..models import Post #models register = template.Library() @register.simple_tag def get_recent_posts(num=4): return Post.objects.all().order_by('-created_time')[:num]
2.配置setting(目的是在模板中引用时能够找到)
TEMPLATES = [ { ... 'OPTIONS': { 'context_processors': [ ... ], #配置自定义标签 'libraries':{ 'blog_tags': 'blog.templates.blog_tags', } }, }, ]
3.模板中使用
首先在html中加载自定义的标签
{% load blog_tags %}
使用
{% load staticfiles %} {% load blog_tags %} <!DOCTYPE html> <html> ... {% get_recent_posts as recent_post_list %} ... </html>