Django 上下文处理器

上下文处理器可以在 settings 中的  TEMPLATES 模板配置内看都有什么上下文处理器

也可以自己写好方法在模板配置内添加

定义的方法

#导入时间模块
import datetime

#定义一个上下文处理器方法
def get_daytime(reqeust):
    ip = reqeust.META['REMOTE_ADDR']
    #获取当前时间

    nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    my_hour = int(datetime.datetime.now().strftime('%H'))
    if my_hour > 1 and my_hour <= 7:
        now_str = '早上好'
    elif my_hour > 7 and my_hour <= 11:
        now_str = '上午好'
    elif my_hour > 11 and my_hour <= 18:
        now_str = '下午好'
    else:
        now_str = '晚上好'
    #给模板传递参数
    return locals()

将写好方法在模板配置内添加

#模板配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                #定义自定义上下文处理器的位置
                'supermarket.context_processor.get_daytime'
            ],
        },
    },
]

 

转载于:https://www.cnblogs.com/Niuxingyu/p/10415270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值