Ami*_*zli 5 python django persian django-templates hindi
我想用波斯语或印地语编码方式打印{{forloop.counter}}以获得"1 2 3 4 .."而不是"1 2 3 4 ...".我搜索了很多,但我找不到任何相关的功能.你介意帮帮我吗?
问候
您可以创建自己的模板过滤器.
@register.filter(name='persian_int')
def persian_int(english_int):
devanagari_nums = ('?', '?', '?', '?', '?', '?', '?', '?', '?', '?')
number = str(english_int)
return ''.join(devanagari_nums[int(digit)] for digit in number)
Run Code Online (Sandbox Code Playgroud)
您可以使用自定义模板过滤器.我对Django的l10n库不太熟悉,知道他们是否为你做了这件事.
def devanagari_int(arabic_int):
""" Converts an arabic numeral (ex. 5817) to Devanagari (ex. ????) """
devanagari_nums = ('?','?','?','?','?','?','?','?','?','?')
# arabic_nums = ('?','?','?'....)
# farsi_nums = (...)
number = str(arabic_int)
return ''.join(devanagari_nums[int(digit)] for digit in number)
# register your filter, and then:
{{forloop.counter|devanagari_int}}
Run Code Online (Sandbox Code Playgroud)
确保将过滤器文件保存为UTF-8(或者使用相应的unicode表示).
您可以制作一个模板过滤器,将数字转换为适当的编码。然后你可以这样使用它:
{{ forloop.counter|convert_to_hindi }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |