我有一个模板,我可以从中获取某些变量。 一个变量是 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/