我正在尝试将 context( single_well_info
) 注入到我的base.html 中。Base 由contextual_main.html扩展
视图.py
class ContextualMain_DetailView(DetailView):
template_name = 'contextual_main.html'
context_object_name = 'single_well_info'
model = models.WellInfo
上下文处理器.py
from contextual.views import ContextualMain_DetailView
def add_context_to_base(request):
return {'single_well_info': # context instance}
当ContextualMain_DetailView.as_view()
被调用时,模型类实例single_well_info
注入contextual_main_html
我决定创建一个context_processor
将完全相同的上下文注入base.html
如何修改我的 context_processor.py 以在single_well_info
里面获得完全相同的模型类实例ContextualMain_DetailView
?
一种block
首选解决方案,您可以在 base.html 中定义一个您可以在子模板中扩展的contextual_main.html
,然后能够使用相同的模型实例。作为参考,模板继承可以在这里阅读https://docs.djangoproject.com/en/1.7/topics/templates/#template-inheritance
所以假设您需要single_well_info
在 base.html 中,因为您想将其显示为页面标题,而页面标题在 base.html 中定义。做这样的事情:
基地.html:
{% block title %} My Title {% endblock %}
contextual_main.html:
{% extends 'base.html' %}
{% block title %} {{ single_well_info }} {% endblock %}
现在您可以覆盖base.html
其子模板中的任何内容,并且您可以访问该上下文变量。您不必触摸 context_processors.py!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句