我有一个模板,在那里我得到某些变量回来。 一个变量是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)
感谢您的帮助!
您正在将字符串
instance.category
传递到模板中,然后在其字符上迭代。相反,将列表传递给模板:
instance.category.split()
,模板将把words words words
字符串拆分成列表['words', 'words', 'words']
:或者,可以定义一个custom filter将字符串拆分到列表中:
然后,以这种方式在模板中使用它:
如果分隔符总是
" "
,并且category
是字符串,则实际上不需要自定义模板筛选器。您只需调用split
而不需要参数:相关问题 更多 >
编程相关推荐