美文网首页
(技术)Python 3 -- 利用aiohttp异步框架实现重

(技术)Python 3 -- 利用aiohttp异步框架实现重

作者: 点映文艺 | 来源:发表于2017-12-09 17:24 被阅读0次
示例流程:项目打开首先进入到登录页面,表单填写用户名、密码,表单提交成功,跳转到首页


<form class="well" action="/api/login" method="post" style="width:220px;margin:0px auto;">
    <legend>PMS</legend>
        <label>账号</label>
        <input id="username" name="username" type="text" class="span3">
        <label>密码</label>
        <input id="password" name="password" type="password" class="span3">
        <br/>
        <button class="btn btn-primary">进入系统</button>
</form>



'''
    接收表单数据,用户认证,重定向到 redirect:/index
'''
@post('/api/login')
async def authenticate(*,username,password):
    if not username:
        raise APIValueError('username','请输入用户名');
    if not password:
        raise APIValueError('password','请输入密码')

    employees = await Employee.findAll('username = ? ',[username])
    if len(employees) == 0:
        raise APIValueError('username','用户不存在')
    employee = employees[0]

    sha1 = hashlib.sha1()
    sha1.update(password.encode('utf-8')) # Unicode-objects must be encoded before hashing
    password = sha1.hexdigest();
    if employee.password != password:
        # {"error": "value:invalid", "data": "password", "message": "用户名或密码错误"}
        raise APIValueError('password','用户名或密码错误')

    return 'redirect:/index' # 重定向跳转


'''
    跳转到index界面
'''
@get('/index')
def index():
    return{
        '__template__':'index.html'
    }






相关文章

网友评论

      本文标题:(技术)Python 3 -- 利用aiohttp异步框架实现重

      本文链接:https://www.haomeiwen.com/subject/cdhpixtx.html