[django]上下文管理器
上下文管理器
django提取context中的数据去供模板调用
需求: 所有的页面都需要一个特定的变量
本质: python函数 , 接收一个HttpRequest对象的参数 , 且返回的必须是一个字典
定义上下文管理器
文件名命名不受限, 放置的路径也不受拘束, 可以放在django项目下的任意位置
定义
def my_name(request):
return {'name': 'Jack'}
1
2
写好之后去settings.py中去注册
TEMPLATES = [
...
'context_processors': [
...
'firstapp.customer_context.my_name'(http://www.amjmh.com)
...
1
2
3
4
5
6
注册好后可以在所有的配置文件使用, 将{{ name }}加到模型中就可以显示
...
<body>
{{ name }}
<form action="" method="post">
...
1
2
3
4
5
如果同时有上下文管理器, 和上下文数据(context), 他们是按照顺序执行的, 如果这两者都有相同的变量名时 , context生效
---------------------