【问题标题】:Display smileys with html code from TextChoices models使用来自 TextChoices 模型的 html 代码显示笑脸
【发布时间】:2020-11-25 01:08:04
【问题描述】:

希望你一切都好,

我为我的 UserProfile 创建了一个TextChoices models。如果显示数据 {{ user.userprofile.smiley }} 我得到了代码 🍆 但不是 ????。你有什么想法吗?

我已将此添加到我的 settings.py (DB) 'OPTIONS': {'charset': 'utf8mb4'},问题仍然存在。还将我的 MYSQL 笑脸字段更改为 utf8mb4_bin...

class Smileys(models.TextChoices):
    AUBERGINE = '🍆'
    AVOCADO = '🥑'
    BROCCOLI = '🥦'
    ...

class UserProfile(models.Model):
    smiley = models.CharField(max_length=20,choices=Smileys.choices,default=Smileys.CHERRY,)
    ...

【问题讨论】:

    标签: python-3.x django model


    【解决方案1】:

    当您想禁用字符串的 HTML 转义时,请使用 safe 模板过滤器

    {{ user.userprofile.smiley|safe }}
    

    如果您对恶意用户提供的数据使用此过滤器,您可能会受到 XSS 攻击,因此请小心

    【讨论】:

      猜你喜欢
      • 2015-12-31
      • 1970-01-01
      • 2013-10-10
      • 2013-02-03
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多