Django:在多个地方使用block?
这是我写的模板Django:在多个地方使用block?,django,jinja2,Django,Jinja2,这是我写的模板 {% extends 'base.html' %} {% load static %} {% block body %} <div class="row hide-on-mobile" style="height: 100vh"> <div class="col-auto p-5"> <img src="{% static 'logo
{% extends 'base.html' %}
{% load static %}
{% block body %}
<div class="row hide-on-mobile" style="height: 100vh">
<div class="col-auto p-5">
<img src="{% static 'logo.svg' %}" class="mb-5 hide-on-mobile" style="height: 84px"/>
{% block form %} {% endblock %}
</div>
<div class="col bg-brown p-5">
<div class="d-flex flex-column justify-content-between" style="height: 100%">
<h1 class="text-blue mb-3">It's always Ups<br>and Downs</h1>
<img src="{% static 'investing_illustration.svg' %}" class="auth-illustration"/>
</div>
</div>
</div>
<div class="hide-on-desktop" style="height: 100vh; position: relative">
<div class="d-flex flex-column bg-brown h-100 p-3 align-items-start">
<img src="{% static 'logo.svg' %}" class="mb-3 hide-on-desktop" style="height: 56px"/>
<p class="text-blue mb-3">It's always Ups<br>and Downs</p>
<img src="{% static 'investing_illustration.svg' %}" class="auth-illustration"/>
</div>
<div style="position: absolute; bottom: 0; z-index: 99; background: white; width: 100%">
<div class="d-flex flex-column p-4">
<p class="mb-4">Login</p>
{% block form %} {% endblock %}
</div>
</div>
</div>
{% endblock %}
如何实现这一点?可以多次包含分部。部分与块的工作方式不同——不是通过继承,所以您必须稍微更改模板代码 您需要为表单创建一个部分模板,该模板需要特定的上下文(可能是
表单
),并且您需要在主模板中包含该模板片段两次:
<div class="d-flex flex-column p-4">
<p class="mb-4">Login</p>
{% include "_partials/login_form.html" %}
</div>
登录
{%include“\u partials/login\u form.html”%}
\u partials/login\u form.html
基本上包含您现在在表单块中拥有的内容
编辑:正如其他人所指出的,关于多个同名区块的问题以前已经解决过:谢谢……这似乎可行,但我还面临一个问题。我正在另一个模板中扩展该模板,我想从继承的模板中传递一段代码。我该怎么做?@GoutamBSeervi你可以在SO上创建一个新的问题,如果还没有被问到的话,可以添加更多细节。这听起来像是它自己的问题,在不知道更多细节的情况下,我不确定我是否理解它。事实上,我在这里发布了一个新问题,提供了更多细节,如果我遗漏了任何其他细节,请告诉我:@GoutamBSeervi另一个问题看起来像这个问题的副本-你说你面临“另一个问题”但看起来是同一个问题?您需要清楚地陈述两个不同的问题,否则另一个问题可能会重复。
django.template.exceptions.TemplateSyntaxError: 'block' tag with name 'form' appears more than once
<div class="d-flex flex-column p-4">
<p class="mb-4">Login</p>
{% include "_partials/login_form.html" %}
</div>