【问题标题】:Django Template: remove underscore and capitalize each wordDjango模板:删除下划线并大写每个单词
【发布时间】:2016-04-25 10:55:43
【问题描述】:

Django 中是否有任何过滤器可以删除下划线并将单词的每个字母大写或删除下划线并将句子的第一个字母大写?

【问题讨论】:

  • 1.没有过滤器可以删除下划线,您需要创建一个。 2.过滤器{{ string|title }}可以对每个单词进行大写,但如果您的文本包含多个句子,则不能对所有句子进行大写。
  • 感谢@ShangWang 我会尝试编写自己的过滤器。

标签: django django-template-filters


【解决方案1】:
@register.filter()
def field_name_to_label(value):
    value = value.replace('_', ' ')
    return value.title()

【讨论】:

    【解决方案2】:

    要将您的单词大写,您可以使用capfirst 模板标签:

    {{ value|capfirst }}
    # If value is "django", the output will be "Django".
    

    Here你可以找到更多的内置标签。

    要删除下划线,我认为没有过滤器可以做到这一点,you could write your own template tag filter 或在您的视图中预处理单词以替换下划线:

    word = 'hello_world'
    word = word.replace('_', ' ')
    

    【讨论】:

    • 我会尝试编写自己的过滤器
    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2023-04-07
    • 2022-11-21
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    相关资源
    最近更新 更多