用过wordpress的同学应该都知道,wordpress的侧边栏有很多选项在后台可以自由设置,某个可以显示,某个不显示,或者自定义侧边栏都可以,把侧边栏的每一个区块都模块化了,更方便用户使用!
那么,我们也参考这种思路来开发一个类似的侧边栏功能!
1、在models.py中创建侧边栏的模型数据,并引入以下两个django内置的方法
from django.utils.functional import cached_property # 缓存装饰器
from django.template.loader import render_to_string # 渲染模板
class SideBar(models.Model):
STATUS = (
(1, '隐藏'),
(2, '展示')
)
DISPLAY_TYPE = (
(1, '搜索'),
(2, '最新文章'),
(3, '最热文章'),
(4, '最近评论'),
(5, '文章归档'),
(6, 'HTML')
)
title = mode