flask context_processor
context_processor
1. context_processor(上下文处理器钩子函数)
- 上下文处理器应该返回一个字典,字典中的key会被模板中当成变量来渲染
- 被这个装饰器修饰的钩子函数,必须要返回一个字典,即使为空也要返回。
  
@app.context_processor  
def my_context_processor():  
    return {'username':'test'}  
  
1.1. 原理
  
    @setupmethod  
    def context_processor(self, f):  
        """Registers a template context processor function."""  
        self.template_context_processors[None].append(f)  
        return f  
  
释义:
装饰器把方法my_context_processor添加到self.template_context_processors = {None: [_default_template_ctx_processor]}
这些方法会在每次渲染模板(render_template)时执行,最终效果就是可以在模板中可以访问它所定义的dict。
1.2. 其它
蓝图也有类似方法
bp.context_processor # 仅对当前蓝图的模板渲染生效
bp.app_context_processor # 对所有的模板生效,等效于@app.context_processor
  
@main.app_context_processor  
def global_datas():  
    return dict()  
  
    日拱一卒无有尽,功不唐捐终入海
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号