Django中是否有任何过滤器显示星号(*)而不是文本

时间:2010-09-29 06:31:41

标签: python html django django-templates

我很想知道是否有任何过滤器可用于显示所有文本*如此

mytext = 'raja'

{{ mytext|password }}应显示****

我们怎么做到这一点。请帮忙

2 个答案:

答案 0 :(得分:3)

易。这样做:

{% for char in mytext %}*{% endfor %}

那就是说,我可以问你在哪里显示密码吗?通常密码不会显示在屏幕上。如果要在表单中显示它,可以使用PasswordInput小部件。

正如@Ars所说,揭示密码的长度是个坏主意。您可能希望显示随机数量的星号。

答案 1 :(得分:1)

这真的是密码吗?那么这似乎是一个坏主意 - 你想透露密码是4个字符长吗?只需在模板中直接打印4个(或5个或任何其他)星号。

否则,我不会打扰过滤器。只需在上下文中传入一串星号:

mytext = 'raja'
ctx = Context({'mytext': '*' * len(mytext)})
t = Template('password: {{ mytext }}')
s = t.render(ctx)