当模板继承似乎失败时,我没有看到错误。我看不到子模板的内容,但看不到“ TemplateNotFound”错误。如果将父模板的路径更改为“ notthefilename.html”,我仍然看不到错误。有没有办法使模板继承失败呢?我不知道为什么即使我在相邻文件夹中有类似的继承(按预期工作)也无法正常工作。
generic_create.html 文本'hello2'是呈现。
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div style= "padding-top: 30px">
<form method="post">{% csrf_token %}
{% if model_name == 'TransactionsTable' %}
<div>
{% block transactions_create %}
hello2
{% endblock transactions_create %}
</div>
{% else %}
{{ form |crispy }}
{% endif %}
<div id="container">
<input type="submit" class="btn btn-default" value="Save">
<a href="{{ view.get_success_url }}" class="btn btn-default">Cancel</a>
<div>
</form>
</div>
{% endblock content %}
transactions_create.html -内容“ Hello1” 不是呈现
{% extends "generic_create.html" %}
{% load static %}
{% block transactions_create %}
Hello1
{% endblock transactions_create %}
答案 0 :(得分:0)
由于@Daniel Roseman的评论,我意识到我正在向后执行继承。我也使事情复杂化了。使用include
标记,我能够很轻松地执行我希望实现的那种继承。
generic_create.html
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div style= "padding-top: 30px">
<form method="post">{% csrf_token %}
{% if model_name == 'TransactionsTable' %}
<div>
{% include "transactions_create.html" %} #NOTE: Here I removed the block and added 'include'.
</div>
{% else %}
{{ form |crispy }}
{% endif %}
<div id="container">
<input type="submit" class="btn btn-default" value="Save">
<a href="{{ view.get_success_url }}" class="btn btn-default">Cancel</a>
<div>
</form>
</div>
{% endblock content %}
transactions_create.html
Hello1 #removed all of the extend and 'block' code. 'include' just renders the html directly.
就是这样! “包括”确实简化了事情。