![](/img/trans.png)
[英]In Django, how to render static/base.html file on browser?
[英]Django - how to pass context in base.html?
我有well_list.html ,看起来像这样:
单击其中一行将转到此页面:
上面的页面使用了两个html文件: base.html + contextual_main.html 。 基座具有侧边栏导航,后一个导航从基座延伸。 在我的views.py中 ,我可以像这样轻松地将上下文数据传递到contextual_main.html中 :
views.py
class ContextualMain_DetailView(DetailView):
template_name = 'contextual_main.html'
context_object_name = 'single_well_info'
model = models.WellInfo
contextual_main.html
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover">
<a href="{% url 'contextual:bha' pk=single_well_info.api %}">BHA</a>
</button>
我也需要将上下文single_well_info
注入base.html中 。 因此,我尝试以与contextual_main.html相同的方式注入它,但无法正常工作。 我怎样才能做到这一点?
编辑 - - - - - - - - - - - - - - - - - - - - - - - - - --------------------
base.html:
<body class="nav-md">
<div class="container-fluid body">
<div class="main_container">
<!-- side bar -->
<div class="col-md-3">
<div class="left_col scroll-view">
<!-- sidebar menu -->
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<ul class="nav side-menu">
<li><a href="{% url 'well_list' %}"><i class="fa fa-list-ol"></i> Well List </a>
</li>
<li><a><i class="fa fa-bookmark"></i> My Wells </a>
</li>
<li><a><i class="fa fa-dashboard"></i> Dashboard </a>
</li>
<li><a><i class="fa fa-edit"></i> Contextual <span class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="{% url 'contextual:bha' pk=single_well_info.api %}">BHA</a></li>
<li><a href="">Integrity Test</a></li>
<li><a href="">Casing</a></li>
<li><a href="">Cementing</a></li>
<li><a href="">Consumables</a></li>
<li><a href="">Daily Ops</a></li>
<li><a href="">Logging Data</a></li>
<li><a href="">Daily Cost</a></li>
<li><a href="">Mud</a></li>
<li><a href="">Equipments</a></li>
<li><a href="">Pumps</a></li>
<li><a href="">Survey</a></li>
<li><a href="">Time Log</a></li>
<li><a href="">Vol & Losses</a></li>
<li><a href="">Weather</a></li>
<li><a href="">Well Cond</a></li>
<li><a href="">Personnels</a></li>
</ul>
</li>
<li><a><i class="fa fa-clock-o"></i> Real Time <span class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="">Operation</a></li>
<li><a href="">Beliefs and Alerts</a></li>
<li><a href="">Drilling Optimization</a></li>
</ul>
</ul>
</div>
</div>
</div>
</div>
<!-- /side bar -->
<div class="right_container">
<div class="container-fluid">
{% block content %} {% endblock %}
</div>
</div>
</div>
</div>
</body>
当我在base.html中编写编辑<a href="">
时,我的PyCharm IDE识别了contextual:bha
参数,但无法识别pk=single_well_info.api
参数,这就是麻烦所在。 在我看来,上下文没有注入到base.html文件 ,当base.html文件通过views.py的扩展template_name
通话
您可能在每个页面中都扩展了base.html 。 因此在每个视图函数/类中传递single_well_info_context绝对不是一件容易的事 。
您想要将single_well_info添加到上下文中,以使其在所有页面中都可用。
您需要打开settings.py并将新的上下文添加到TEMPLATE_CONTEXT_PROCESSORS:
'context_processors': [
...
# add a context processor
'my_app.context_processor.single_well_info',
],
single_well_info将是类似于以下功能:
def single_well_info(request):
return {
'api':"Hello",
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.