如何使用{%with%}和{%include%} - Django

时间:2010-10-04 23:41:15

标签: django django-templates

例如,我有一个名为的模板文件:

filter.html

{{ title }}

code...

我想做的是,在一个单独的模板上:

{% with "Filter by Types" as title %}
  {% include "filter.html" %}
{% endwith %}

目前无法做到。有人可以解释为什么会这样做以及另一种方法来实现这个目标吗?

背景背景:

应用程序库用于多个站点。站点管理员只能编辑模板文件以给他们一定程度的自定义,但不能编辑views.py或其他核心文件。因此,{{title}}变量实际上不能由views.py发送。

1 个答案:

答案 0 :(得分:4)

我可能会遗漏一些东西,但为什么不使用 extends 阻止标签呢?

<强> base.html文件

{% block title %}Default title{% endblock %}

<强> filter.html

{% extends "base.html" %}
{% block title %}Filter by Types{% endblock %}

查看有关extendsblockstemplate inheritance的文档以获取更多信息。