如何在django中使用文本循环中的值

时间:2018-09-12 00:22:17

标签: django django-templates django-template-filters

我有用户填充的文本字段值。我想创建自己的“标记”,以便在存在时可以遍历其返回值。

以下是用户输入的内容示例:

  

我很棒的内容开始

     

(-资产-)

     

我内容的结尾部分

我正在考虑使用模板标签来执行以下操作:

{{ mycontent|check_if_assets_present }}

然后这将打印出类似的内容

  

我很棒的内容开始

     
      
  1. 资产1
  2.   
  3. 资产2
  4.   
  5. 资产3
  6.   
     

我内容的结尾部分

如何在Django模板中完成此操作?

1 个答案:

答案 0 :(得分:0)

我最终创建了一个模板标签,然后在遇到字符集时进行了替换:

from django import template

register = template.Library()


@register.filter(name='add_assets')
def add_assets(composition):
    if '(-- assets --)' in composition.content:

        asset_group = AssetGroup.objects.filter(composition=composition)
        unordered_list_str = asset_group_to_html(asset_group)
        composition.content = composition.content.replace('(-- assets --)', unordered_list_str)

    return composition.content