(技术)Python 3 -- 利用aiohttp异步框架实现重
2017-12-09 本文已影响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'
}