python - Django 使用 if 块扩展哪个模板
问题描述
我有两个不同的模板,必须在三个不同的页面中扩展。有没有扩展模板的解决方案if block
?我试过这个没有成功。
{% if 'project' in request.get_full_path %}
{% extends 'index.html' %}
{% elif 'network' in request.get_full_path %}
{% extends 'base.html' %}
{% elif 'zoneset' in request.get_full_path %}
{% extends 'base.html' %}
{% endif %}
{% load crispy_forms_tags %}
{% block title %} Network {% endblock title %}
{% block content %}
<div class="row">
<div class="col-md">
<div class="card card-body">
<h6>Update</h6>
<form class="" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form|crispy}}
<input type="submit" name="" value="Update">
</form>
</div>
</div>
</div>
{% endblock %}
解决方案
如果您使用模板继承,{% extends … %}
[Django-doc]应该是第一个模板标签。您不能使用{% if … %}
块,根据请求的完整路径检测父级也不是一个好主意。
您可以在视图中执行此操作,并使用:
def my_view(request):
context = { 'parent': 'index.html' }
return render(request, 'my_template.html', context)
然后在模板中使用:
{% extends parent %}
…
推荐阅读
- android - 如何使用 DataBinding 为 Spinner 设置项目布局?
- css - 如何在将图像徽标移动到最左侧时更改其宽度?
- r - 使用nlsLM时如何避免奇异梯度矩阵错误?
- python - 在 matplotlib 中使一些刻度标签比其他标签大
- ruby - 如何解释依赖项的存在,类似于`yarn why`?
- python - OLS回归存储问题:零大小数组到归约操作最大值,没有身份
- c# - 在 C# 中离散化双精度的最快方法是什么?
- r - 无法使用“num_to_well”功能包 platetools
- python - AttributeError: 'Response' 对象没有属性 'txt' - Python Web Scraping
- authentication - Microsoft Teams 应用程序 + Keycloak 集成