从异常消息中提取电子邮件地址

时间:2014-09-01 11:18:30

标签: python django python-social-auth

python-social-auth中,当用户注册现有电子邮件地址时,会引发异常。

我设法抓住了这个例外:

msg =   "%s" % exception

如果我打印msg,我会得到以下输出:

(1062, "Duplicate entry 'email@id.com' for key 'email_UNIQUE'")

我想检测此异常并向用户显示自定义错误消息,例如:

  

此电子邮件ID已存在,请使用email@id.com登录或选择登录。

所以我的问题是,我如何只从异常消息中获取电子邮件地址?或者是否有{{ exception.email }}之类的快捷方式来获取模板中的电子邮件地址?

1 个答案:

答案 0 :(得分:0)

使用正则表达式

import re

strs="""(1062, "Duplicate entry 'email@id.com' for key 'email_UNIQUE'")"""

email_id =re.findall(r"'(.*?)'", strs, re.DOTALL)[0]
print 'This email id already exists please login with {} or choose to sign in.'.format(email_id)
#output This email id already exists please login with email@id.com or choose to sign in.