Есть ли в Django фильтр для отображения звездочки (*) вместо текста - PullRequest
0 голосов
/ 29 сентября 2010

Я хочу знать, доступен ли какой-либо фильтр для отображения всего текста как * как этот

mytext = 'raja'

{{ mytext|password }} должен показать ****

Как мы можем это сделать. Пожалуйста, помогите

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

Легко. Сделайте это:

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

Тем не менее, я могу спросить вас, где вы отображаете пароль? Обычно пароли не отображаются на экране. Если вы хотите отобразить его в форме, вы можете использовать виджет PasswordInput.

Как сказал @Ars, указывать длину пароля - плохая идея. Вы можете вместо этого отображать случайное количество звездочек.

1 голос
/ 29 сентября 2010

это действительно пароль? Тогда это кажется плохой идеей - вы хотите показать, что пароль длиной 4 символа? Просто напечатайте 4 (или 5 или что-то еще) прямо в шаблоне всегда.

Иначе я бы не стал заниматься фильтром. Просто передайте строку звездочек через контекст:

mytext = 'raja'
ctx = Context({'mytext': '*' * len(mytext)})
t = Template('password: {{ mytext }}')
s = t.render(ctx)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...