【发布时间】:2018-07-25 14:19:44
【问题描述】:
我有一堆代码需要在一个页面和多个页面上重复使用。例如,下面是一个较短版本的代码:
<a href="#"
data-toggle="popover"
title="{% for terms in s_terms %}{% if terms.slug == 'neuron' %}{{terms.title}}{% endif %}{% endfor %}"
data-content="{% for terms in s_terms %}{% if terms.slug == 'neuron' %}{{terms.para_one}}{% endif %}{% endfor %}">
Toggle popover
</a>
块中有更多代码。现在,出于显而易见的原因,我不想继续重复如此大的代码块。我是 DRY 方法的粉丝。
但是,我不知道如何重复呈现同一段代码。唯一会改变的是那里的单词=“神经元”。我想过使用模板标签,但没有奏效。
我尝试将代码保存为单独的文件,并在我的模板中继承它,但是我无法更改关键字('neuron')。我还尝试创建一个单独的动态页面,并将其包含在我的 Django 模板中,但看起来包含标记仅适用于模板,不适用于动态页面。
有人可以帮忙吗?提前谢谢你。
【问题讨论】:
-
为什么模板标签不起作用?它们是正确的解决方案。
-
谢谢。我尝试
return value.replace传递一个单词并让模板标签用上面的代码替换这个单词,同时在代码中包含这个单词。我在模板中将其称为neuron | my_custom_tag.,但我只是收到了一个模板错误。你介意尝试一下定义模板标签吗……不知道为什么它一直给我一个错误。
标签: django django-templates django-views django-template-filters