Django自定义上下文处理器(context_processor)动态读取共用部分数据

上下文处理器(context_processor)定义一次,能实现共用数据的在项目里的每个页面上重复使用。比如:最新文章

1、在APP目录中创建自定义的上下文处理器文件。如:app_context_processor.py

2、在创建的文件中定义函数示例代码。如下

from .models import Article

#共用部分数据自定议上下文
def myapp_context_processor(request):
    articles = Article.objects.order_by('-datetime')[:10]
    return {'articles': articles}

3、在项目settings.py文件中加入自定义上下文。如下

TEMPLATES = [
    {
       ......
        'OPTIONS': {
            'context_processors': [
                ......
                'myapp.app_context_processor.myapp_context_processor', #自定议上下文
            ],
        },
    },
]

4、直接在模板页面中使用

{% for article in articles %}
    <li>{{ article.title }}</li>
{% empty %}
    <li>暂无数据!</li>
{% endfor %}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值