因为这些模块都是动态变化的,使用Django的自定义模板标签实现页面侧边栏。
在app下新建一个templatetags目录(目录里必须要有__init__.py文件),新建一个py文件(blog_tags.py)用来写自定义的标签,定义一套标签,只要在前端调用这些标签就可以实现相应的功能。
最新文章:
在blog_tags.py文件中的开头要写:
from django import template
register = template.library()
在想要变成自定义标签(tag)的函数上面加上@register.simple_tag,比如:
from .models import Post
@register.simple_tag
def get_recent_posts(num=5):
return Post.objects.all().order_by('-created_time')[:num]
在前端模板中使用自定义标签:
在模板中导入自定义标签文件:{% load blog_tags %}
在要显示标签的的位置:
<ul>
{% get_recent_posts