gpt4 book ai didi

django - 优雅高效的 Django 模板方式?

转载 作者:行者123 更新时间:2023-12-04 05:38:19 25 4
gpt4 key购买 nike

我发现自己最终得到了以下样式的模板片段:

<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>

你如何处理这种模板化?你知道一些解决这种情况的 goot 模板标签库吗?在 django-templates 中是否完全可能,或者它们的逻辑是否遵循不同的路径/概念?

最佳答案

你可以通过定义一些我想称之为“部分”的东西来做到这一点,这些东西在技术上是正常的模板。让我给你看一个例子。

您的主要模板:

<ul>
{% for item in items %}
<li>
{% include "partial/link.html" with url=item.get_absolute_url, title=item.title, active=item.active, image=item.image %}
</li>
{% endfor %}
</ul>

部分/link.html:
<a class="{% if active %}active{% endif %}" title="{{ title }}" href="{{ url }}">
<img src="{% thumbnail image 24x24 crop upscale %}" />{{ title|truncate_chars:30 }}
</a>

关于django - 优雅高效的 Django 模板方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com