17

特定の変数を取得するテンプレートがあります。変数の 1 つは instance.category で、次を出力します。

以下のコードを使用すると、単語ではなく文字ごとに返されます。

{% 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)

どんな助けでも大歓迎です!

4

3 に答える 3

22

セパレーターが常に文字列" "categoryある場合、実際にはカスタム テンプレート フィルターは必要ありません。パラメータなしで簡単に呼び出すことができsplitます:

{% for icon in instance.category.split %}
  <p>{{ icon }}</p>
{% endfor %}
于 2013-08-28T12:45:29.597 に答える