本文整理汇总了Python中torlite.model.muser.MUser.get_by_email方法的典型用法代码示例。如果您正苦于以下问题:Python MUser.get_by_email方法的具体用法?Python MUser.get_by_email怎么用?Python MUser.get_by_email使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类torlite.model.muser.MUser
的用法示例。
在下文中一共展示了MUser.get_by_email方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: UserHandler
# 需要导入模块: from torlite.model.muser import MUser [as 别名]
# 或者: from torlite.model.muser.MUser import get_by_email [as 别名]
#.........这里部分代码省略.........
return json.dump(output, self)
def delete(self, del_id):
if self.tmpl_router == "user":
is_deleted = self.muser.delete(del_id)
if is_deleted:
self.redirect('/user/find')
else:
return False
else:
if self.muser.delete(del_id):
output = {
'del_category': 1
}
else:
output = {
'del_category': 0,
}
return json.dump(output, self)
def post_find(self):
keyword = self.get_argument('keyword')
self.find(keyword)
def reset_password(self):
post_data = {}
for key in self.request.arguments:
post_data[key] = self.get_arguments(key)
if 'email' in post_data:
userinfo = self.muser.get_by_email(post_data['email'][0])
if tools.timestamp() - userinfo.reset_passwd_timestamp < 70:
self.set_status(400)
kwd = {
'info': '两次重置密码时间应该大于1分钟',
}
self.render('html/404.html', kwd=kwd)
return False
if userinfo:
timestamp = tools.timestamp()
passwd = userinfo.user_pass
username = userinfo.user_name
hash_str = tools.md5(username + str(timestamp) + passwd)
url_reset = '{0}/user/reset-passwd?u={1}&t={2}&p={3}'.format(config.site_url, username, timestamp,
hash_str)
email_cnt = '''
<div>请查看下面的信息,并<span style="color:red">谨慎操作</span>:</div>
<div>您在"{0}"网站({1})申请了密码重置,如果确定要进行密码重置,请打开下面链接:</div>
<div><a href={2}>{2}</a></div>
<div>如果无法确定本信息的有效性,请忽略本邮件。</div>
'''.format(config.site_name, config.site_url, url_reset)
if send_mail([userinfo.user_email], "{0}|密码重置".format(config.site_name), email_cnt):
self.muser.update_reset_passwd_timestamp(username, timestamp)
self.set_status(200)
return True
else:
self.set_status(400)
return False
else:
self.set_status(400)