Django 模板转换为字符串

Django template convert to string

有没有办法在 django 模板中将数字转换为字符串?或者我是否需要制作自定义模板标签。类似于:

{{ 1|stringify }} # '1'

您可以使用 stringformat 将变量转换为字符串:

{{ value|stringformat:"i" }}

有关格式化选项,请参阅 documentation(不应包括前导 %)。

您可以使用 {{ value|slugify }} (https://docs.djangoproject.com/en/1.10/ref/templates/builtins/)。

只需创建一个新的模板标签

from django import template

register = template.Library()


@register.filter
def to_str(value):
    """converts int to string"""
    return str(value)

然后转到您的模板并在文件顶部添加

{% load to_str %}
<!-- add the filter to convert the value to string-->
{% number_variable|to_str  %}

您可以简单地使用一些自定义过滤器

# app/templatetags/tags.py

from django import template

register = template.Library()


@register.filter
def toInt(string):
    return int(string)


@register.filter
def toStr(integer):
    return str(integer)

然后在你的模板中这样做

{% load tags %}
<p>Int to Str : {{ 1|toStr }}</p>
<p>Str to Int : {{ '1'|toInt }}</p>