Шаблон тега для скрытия конфиденциальной информации пользователя в Django - PullRequest
1 голос
/ 09 ноября 2019

Я пытаюсь сделать это в шаблоне:

  myacctspecial@gmail.com
  myaccxxxxxxxxxxxxxxxxxx

Я хочу частично скрыть электронные письма. Есть ли в Django шаблонный тег, который скрывает часть строки с x?

1 Ответ

0 голосов
/ 09 ноября 2019

Самый простой способ - подготовить hidden_version адрес электронной почты пользователя в views.py и передать его в свой шаблон. Однако , если вы хотите сделать это непосредственно в шаблонах, пользователь django по умолчанию не имеет такой функции. Вы можете добавить новый метод к User модели. Создайте файл user_patch.py в вашем app:

#app/user_patch.py
from django.contrib.auth.models import User 

def hide_email(self):
    # Return a hiding version of self.email

User.add_to_class("hide_email",hide_email)

и импортируйте его в файл __init__.py приложения, используя:

#app/__init__.py
import user_patch

И тогда у вас есть опция в template файлы, отображать ли скрытую версию адреса электронной почты пользователя:

{{ user.hide_email }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...