0

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

我设法捕捉到了这个异常:

msg =   "%s" % exception

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

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

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

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

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

4

1 回答 1

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.
于 2014-09-01T11:28:54.517 回答