0

我有一个template_a.html-- 它包含在一些开源库中,我希望将来会得到更新。

我需要一个模板,其中只有一小部分与template_a.
我可以复制粘贴并制作它template_b,或者我可以{% if {{ request.get_full_path }} == 'some-string' %}用来区分我使用模板的目的。

这里有什么更好的做法?

  1. 为每个任务制作副本和单独的模板。
  2. 使用 get_full_path 来区分任务。(主要是我不喜欢使用 get_full_path 的想法,因为我可以稍后更改路径,有没有更好的方法?)
4

1 回答 1

0
  • 您可以为两个模板的公共部分创建一个基本模板
  • 为正在更改的零件定义块。
  • 从基本模板扩展两个模板,只定义您想要更改的块。
  • 视图可以使用适当的模板来呈现响应。

参考模板继承

样本:

Template_base.html

{% block header %}
  {# something in header #}
{% endblock %}

{% block common %}
  {# something in common #}
{% endblock %}

{% block content %}
  {# filled by derived templates #}
{% endblock %}

模板_a.html

{% extends "template_base.html" %}
{% block content %}
    {# write your html for a.html #}
{% endblock %}

模板_b.html

{% extends "template_base.html" %}
{% block content %}
    {# write your html for b.html #}
{% endblock %}
于 2013-05-27T08:47:08.100 回答