参考教程
https://neutronx.github.io/django-markdownx/
使用自定义模板标签
Django 内置的模板标签: {% static %} 模板标签,这个标签帮助我们在模板中引入静态文件。
编写模板标签代码
在 blog 下新建 templatetags Python 包,在包里新建 blog_tags.py 文件。
from django import template
from ..models import Post
register = template.Library()
# 向 Django 注册这个函数
@register.simple_tag
def get_recent_posts(num=5):
return Post.objects.all().order_by('-created_time')[:num]
使用自定义模板标签
# 首先要载入新建的python 文件,这就好比 JS,CSS 在头部的引用一样,载入之后,就可以任意使用里面定义的函数了。
{% load blog_tags %}
# 使用时,直接调用就好了。
templates/base.html
<div class="widget widget-recent-posts">
<h3 class="widget-title">最新文章</h3>
{% get_recent_posts as recent_post_list %}
<ul>
{% for post in recent_post_list %}
<li>
<a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
</li>
{% empty %}
暂无文章!
{% endfor %}
</ul>
</div>