在django模板语言中按名称获取块

时间:2012-12-21 22:26:19

标签: django django-templates

我在django(1.4)的网站上工作。 我有阻止它的名字(为了编辑它)的问题。

在从我的基本模板继承的每个模板中,我都分配了一个字符串 blockname 。我想在特定块(在扩展模板中定义)中放入一些文本,其名称等于变量 blockname 的内容。

修改

实施例

base.html文件

{% block b1 %}no changes{% endblock %}
{% block b2 %}no changes{% endblock %}
{% block b3 %}no changes{% endblock %}

subpage.html

???

使用以下视图显示 subpage.html

def show_subpage(request):
    t = loader.get_template('subpage.html')
    c = RequestContext(request, {'blockname': 'b2'})
    return HttpResponse(t.render(c))

应该有如下结果:

  

无变化更改无变更

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

如果我理解你,那么这就是你想要的......

def show_subpage(request):
    t = loader.get_template('subpage.html')
    c = RequestContext(request, {'blockname': ' Change '})
    return HttpResponse(t.render(c))

subpage.html

{% extends 'base.html' %}

{% block b2%}{{ blockname }}{% endblock %}