0

我想找到一种方法来有条件地包含一个文件名不同的文件。在下面的示例中,我希望模板在相关时间包含 para-ford.txt 或 para-mazda.txt。这个例子当然失败了,因为模板引擎在 {% include ... %} 中没有替换 {{car.maker}}。

{% for car in cars %}
<p>{% include "para-{{car.maker}}.txt" %}</p>
{% endfor %}

“汽车”系列中的每个项目都有一个“制造商”属性,包含“福特”、“马自达”等。

4

1 回答 1

2

解决此问题的一种方法是在模型上添加一个方法:

# models.py
class Cars(models.Model):
    maker = models.CharField(max_length=200)

    def get_maker_template(self):
        return "para-{0}.txt".format(self.maker)

# template
{% for car in cars %}
<p>{% include car.get_maker_template %}</p>
{% endfor %}
于 2013-05-30T23:57:45.450 回答