django 电子邮件验证问题
django email validation issue
我正在尝试使用 django_tables2
创建自定义列类型,以便在结果为有效电子邮件地址时将联系人详细信息呈现为 mailto:
link,并且否则只是标准文本。
我遇到的问题是我的值似乎以重复字符的形式返回,并且根据下面的代码,电子邮件地址的第一个字符呈现为 mailto:
的一部分,而电子邮件地址的第二个字符呈现在列中。除了 validate_email
,我还尝试了 if "@" in
和 regex
,所有这些都返回相同的迭代字符结果。
class ContactColumn(tables.Column):
def render(self,value):
try:
validate_email(value)
return format_html('''<a href="mailto:{}">{}</a>''',*value)
except ValidationError:
return value
任何人都可以指出正确的方向,告诉我如何成功呈现 mailto:
link 或仅基于有效电子邮件地址的标准文本吗?非常感谢任何帮助!
这里的问题是你的 *value
参数。
星号表示将一个序列(这里是一个字符串)解包成它的部分(字符)并将它们用作参数。 (搜索 "Python argument unpacking" 以了解更多信息。)
相反,只需执行:
format_html('''<a href="mailto:{}">{}</a>''', value, value)
我正在尝试使用 django_tables2
创建自定义列类型,以便在结果为有效电子邮件地址时将联系人详细信息呈现为 mailto:
link,并且否则只是标准文本。
我遇到的问题是我的值似乎以重复字符的形式返回,并且根据下面的代码,电子邮件地址的第一个字符呈现为 mailto:
的一部分,而电子邮件地址的第二个字符呈现在列中。除了 validate_email
,我还尝试了 if "@" in
和 regex
,所有这些都返回相同的迭代字符结果。
class ContactColumn(tables.Column):
def render(self,value):
try:
validate_email(value)
return format_html('''<a href="mailto:{}">{}</a>''',*value)
except ValidationError:
return value
任何人都可以指出正确的方向,告诉我如何成功呈现 mailto:
link 或仅基于有效电子邮件地址的标准文本吗?非常感谢任何帮助!
这里的问题是你的 *value
参数。
星号表示将一个序列(这里是一个字符串)解包成它的部分(字符)并将它们用作参数。 (搜索 "Python argument unpacking" 以了解更多信息。)
相反,只需执行:
format_html('''<a href="mailto:{}">{}</a>''', value, value)