Django定义全局变量
生活随笔
收集整理的這篇文章主要介紹了
Django定义全局变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
定義全局變量,在項目的任何位置都可以獲取到變量的值
在include App=》include文件夾下=》context_processors.py 里定義需要獲取的變量
#!/usr/bin/env python # coding:utf-8 # Author:Fengchunyang """ 定義django template的全局模板變量 """ from monsys.models import MonObject from include.common.common import adddef monitor_status(request):"""主頁面顯示全局的各種監(jiān)控對象的狀態(tài)數(shù)據(jù)"""service_obj = MonObject.objects.get(name="服務(wù)").monobjectsub_set.all()product_obj = MonObject.objects.get(name="業(yè)務(wù)").monobjectsub_set.all()host_obj = MonObject.objects.get(name="主機").monobjectsub_set.all()container_obj = MonObject.objects.get(name="容器").monobjectsub_set.all()status = {"monitor_product": {"normal": 0,"warning": 0,"danger": 0,},"monitor_service": {"normal": reduce(add, [mos.normal for mos in service_obj]),"warning": reduce(add, [mos.warn for mos in service_obj]),"danger": reduce(add, [mos.danger for mos in service_obj]),"unknown": reduce(add, [mos.unknown for mos in service_obj]),},"monitor_system": {"normal": reduce(add, [mos.normal for mos in host_obj]) + reduce(add, [mos.normal for mos in container_obj]),"warning": reduce(add, [mos.warn for mos in host_obj]) + reduce(add, [mos.warn for mos in container_obj]),"danger": reduce(add, [mos.danger for mos in host_obj]) + reduce(add, [mos.danger for mos in container_obj]),"unknown": reduce(add, [mos.unknown for mos in host_obj]) + reduce(add, [mos.unknown for mos in container_obj]),},}return status然后在settings.py的TEMPLATES里注冊這個文件夾
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'statics'),],'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','include.middleware.context_processors.monitor_status', # 自定義全局監(jiān)控狀態(tài)變量 ],},}, ]然后就可以在項目的任何位置取到需要的變量了
轉(zhuǎn)載于:https://www.cnblogs.com/wangjian941118/p/11321390.html
總結(jié)
以上是生活随笔為你收集整理的Django定义全局变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML 对象模型图阅读指南 (转)
- 下一篇: python day29