我发现自己最终得到了以下样式的模板片段:
<ul>
{% for item in items %}
<li><a class="{% if item.active %}active{% endif %}" title="{{ item.title }}" href="{{ item.get_absolute_url }}"><img src="{% thumbnail item.image 24x24 crop upscale %}" />{{ item.title|truncate_chars:30 }}</a></li>
{% endfor %}
</ul>
不久前,ai 不得不使用一个 PHP 框架,该框架有一些很好的 HTML 输出助手。我知道这不能直接比较,因为它不是一个真正的模板层(相当简单的 PHP)——而是为了这个想法:
<ul>
<?php foreach($items as $item) { ?>
<li><?= HTML::anchor($item->url(), HTML::mage($item->image->url(24)), Text::limit($item->title, 30), array('title' => $item->title, 'class' => ($item->active) ? 'active' : '') ?></li>
<?php } ?>
</ul>
我非常喜欢这种不必处理打开/关闭 HTML 标记并编写包含=和"的属性的方法。
喜欢:
<?= HTML::anchor($url, $title, array('class' => $class)) ?>
呈现为:
<a href="http://url.my/" class="my-class">My Title</a>
你如何处理这种模板化?你知道一些很好的模板标签库可以解决这种情况吗?在 django-templates 中是否有可能,或者它们的逻辑是否遵循不同的路径/概念?