【问题标题】:web2py custom reset passwordweb2py 自定义重置密码
【发布时间】:2015-04-10 10:36:37
【问题描述】:

如何在 Web2Py 中创建自定义重置密码表单?

request_reset_password

def request_reset_password(): 
      site_url = 'www.site.com/myproject/'
      auth.settings.request_reset_password_next = URL('account', args='request sent')
      auth.messages.reset_password ='please click this link http://' + site_url+ 'account/reset_password'+ '/?key='+'%(key)s to reset your password' 
      form= auth.request_reset_password()
      form.custom.submit['_data-theme'] = 'e'
      form.custom.submit['_data-ajax'] = 'false'
      return dict(form=form)

重置密码

def reset_password():
      user = db.auth_user
      if request.vars.key:
          key = request.vars.key
          users = db(user.reset_password_key == key).select()
          if not users:
              session.flash='Invalid password reset'
              #redirect(next) 

          form=FORM(INPUT(_name='password', _type="password", requires=[IS_NOT_EMPTY()]),INPUT(_type='submit', _value='Click to perform password reset'))
          if form.accepts(request,session):
              key= request.vars.key if request.vars.key else _error()
              password= request.vars.password if request.vars.password else _error()
              users = db(user.reset_password_key == key).select()
             if not users:
                 session.flash='Invalid password reset'
                 #redirect(next) 
             users[0].update_record(password=CRYPT(key=auth.settings.hmac_key)(password)[0],reset_password_key='')
                #session.flash='Password was reset'
                #redirect(next)

      return dict(form=form)

要为这两个函数添加一个视图,试试这个代码。

{{extend 'layout.html'}} 
{{=form}}

【问题讨论】:

    标签: python web2py reset-password


    【解决方案1】:

    以上代码运行良好

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 2019-01-16
      • 2020-06-23
      • 1970-01-01
      • 2015-12-12
      • 2021-01-08
      • 2019-07-04
      • 2018-04-07
      • 2014-12-08
      相关资源
      最近更新 更多