gpt4 book ai didi

python - Django 没有正确呈现 html 标签

转载 作者:太空宇宙 更新时间:2023-11-04 16:23:52 25 4
gpt4 key购买 nike

我在 forms.py 中有一条错误消息将其传递给模板,但模板呈现为字符串而不是 html 标记。

forms.py

    message = ("The email address is already taken. Please <a href='#'> log in. </a>"

def clean_email(self):
email = self.cleaned_data['email']
try:
User.objects.get_by_natural_key(email)
except User.DoesNotExist:
return email
raise forms.ValidationError(message)

在模板中

    <span class="error">{{form.email.errors|safe}}</span>

但这呈现为“电子邮件地址已被占用”。请<a href='#'>登录。 </a> ' 不是 '电子邮件地址已被占用。请登录。'

我试过自动转义标签,{% autoescape off%}{{form.email.errors|safe}}{% endautoescape%} ,但这也不起作用。

我错过了什么?提前致谢。

最佳答案

你应该尝试:

raise forms.ValidationError(mark_safe(message))

参见 mark_safe documentation了解更多信息

For building up fragments of HTML, you should normally be using django.utils.html.format_html() instead

关于python - Django 没有正确呈现 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200766/

25 4 0