想在 django 模板中显示姓氏的第一个字符

Posted

技术标签:

【中文标题】想在 django 模板中显示姓氏的第一个字符【英文标题】:Want to display the first character of lastname in django templates 【发布时间】:2016-04-01 15:02:04 【问题描述】:

我想在 django 模板中以小写形式显示 lastname 的第一个字符。

例如:

name = "Yannick Morin"

结果应该是“m”

我写了以下代码:

 name|first|lower 

但它会返回第一个字母“y”,而不是姓氏中的那个。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以为其编写自定义模板过滤器。

from django import template

register = template.Library() 

@register.filter
def last_name_initial(value):
    """ 
    Returns the first character of lastname in lowercase for a given name
    """
    last_name = value.split()[-1] # get the last name from value
    return lastname[0].lower() # get the first letter of last name in lower case

在模板中,你可以像这样使用它:

 name|last_name_initial 

【讨论】:

以上是关于想在 django 模板中显示姓氏的第一个字符的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 模板中仅显示正文的第一段

Python姓名字段的第一个字符为姓,剩余字符为名

访问 Django 模板中的第一条消息

如何在 Django 模板中使用这个 for 循环? [关闭]

我想在 django 模板中显示进度条,基于 django post process/progress(form is ajax submit)。可能吗?

django - 模板中的列表列表