python - 用于循环的 Django 模板

标签 python html django django-templates

我有一个模板,我可以从中获取某些变量。 一个变量是 instance.category,它输出:“words words words”,它们是按间隔分隔的值。

当我使用下面的代码时,我会一个字母一个字母地返回,而不是单词。

{% for icon in instance.category  %}
  <p>{{ icon }}</p>
{% endfor %}

输出

<p>w</p>
<p>o</p>
<p>r</p>
<p>d</p>
<p>w</p>
....

我需要:

<p>word</p>
<p>word</p>
<p>word</p>

Django插件代码

from cmsplugin_filer_image.cms_plugins import FilerImagePlugin
from cms.plugin_pool import plugin_pool
from django.utils.translation import ugettext_lazy as _
from models import Item

class PortfolioItemPlugin(FilerImagePlugin):
    model = Item
    name = "Portfolio item"
    render_template = "portfolio/item.html"
    fieldsets = (
        (None, {
            'fields': ('title', 'category',)
        }),
        (None, {
            'fields': (('image', 'image_url',), 'alt_text',)
        }),
        (_('Image resizing options'), {
            'fields': (
                'use_original_image',
                ('width', 'height', 'crop', 'upscale'),
                'use_autoscale',
            )
        }),
        (_('More'), {
            'classes': ('collapse',),
            'fields': (('free_link', 'page_link', 'file_link', 'original_link', 'target_blank'),)
        }),
    )

plugin_pool.register_plugin(PortfolioItemPlugin)

感谢任何帮助!

最佳答案

如果您的分隔符始终是 "" 并且 category 是一个字符串,那么您实际上不需要自定义模板过滤器。您可以简单地调用不带参数的 split:

{% for icon in instance.category.split %}
  <p>{{ icon }}</p>
{% endfor %}

关于python - 用于循环的 Django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18487919/

相关文章:

javascript - 圆圈在图表 D3 Django 上没有正确对齐

python - 如何使用 python django 在 html 中显示图像?

python - Numpy:修改特定位置的数组元素

python - 'LinearSVC' 对象没有属性 'classes_'

python - 尝试抓取,找回[]

PHP 函数传递包含文件

python - 我想了解 theano 功能(给定,更新)

javascript - 事件处理程序在外​​部 JS 文件中不起作用?

php - 整理 PHP 和 HTML 代码?

python - 如何在Django2网址中以斜线传递参数