Django的Context和RequestContext
2014-10-31 12:43
246 查看
context在Django里表现为Context类,在django.template模块里。她的构造函数带有一个可选的参数:一个字典映射变量和它们的值。调用Template对象的render()方法并传递context来填充模板。
要注意到是:t.render(c)返回的值是一个Unicode对象,而不是普通的Python字符串。
再看下面这个视图:
在settings.py中有一个与RequestContext密切相关的配置项为TEMPLATE_CONTEXT_PROCESSORS:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
)
这些Processors都会被RequestContext顺序调用,往当前Context中放入一些预定义变量。例如'django.core.context_processors.auth'作用在于默认向模板传递user、messages、perms等变量,分别描述当前登录用户、当前登录用户的消息列表和当前登录用户的权限。最后一点,当使用render_to_response方法时,RequestContext应作为其第三个参数传入,如:
相关文章推荐
- Django RequestContext和Context处理器
- 浅谈Django中的RequestContext和Context
- Django的Context和RequestContext
- Python的Django框架中的Context使用
- Django里面的RequestContext
- django model save:quantize result has too many digits for current context
- Django模板HTML中for循环遍历的是上下文context的key
- Module “django.core.context_processors” does not define a “auth” callable request processor
- Django中全局Context处理器
- 在Django框架中编写Context处理器的方法
- [Dynamic Language] Python Django: 模板引擎(2)上下文Context
- Python异常:Django1.11--context must be a dict rather than RequestContext.
- Python的Django框架中的Context使用
- Django里面的RequestContext
- Django框架中的Context使用
- Python的Django框架中的Context使用
- django在Shell中运行test中的Client返回的context 为空的解决
- Django | 模板 自定义 context_processors
- Django RequestContext
- Python的Django框架中的Context使用