【发布时间】:2013-09-13 12:53:49
【问题描述】:
我想在这个 ValidationError 中加入一个锚标记:
Customer.objects.get(email=value)
if self.register:
# this address is already registered
raise forms.ValidationError(
_('An account already exists for this email address')
)
锚标记是<a href="some/url/to/login">Log in instead</a>
因此,当用户输入已存在的电子邮件时,错误消息将类似于:
'此电子邮件地址已存在一个帐户。 <a>登录改为</a>?'
提前致谢!
【问题讨论】:
-
有效吗?
raise forms.ValidationError(_(mark_safe('An account already exists for this email address. <a>Log in instead</a>')))。看看mark_safe() -
@goliney 我收到此错误:未定义全局名称“mark_safe”。
-
在
.py开头导入文件:from django.utils.safestring import mark_safe -
@goliney 做到了!
-
不幸的是,如果 ValidationError 的消息包含参数,则此方法不起作用。这是因为 Django 执行了
message %= error.params(github.com/django/django/blob/…),它从结果字符串中删除了“安全”标志...