Web框架 - Flask
处理3个URL,分别是:
GET /:首页,返回Home;
GET /signin:登录页,显示登录表单;
POST /signin:处理登录表单,显示登录结果。
注意噢,同一个URL/signin分别有GET和POST两种请求,映射到两个处理函数中。
# app.py
from flask import Flask
from flask import request
app = Flask(__name__)
# Flask通过Python的装饰器在内部自动地把URL和函数给关联起来
@app.route('/',methods=['GET','POST'])
def home():
return '<h1>Home</h1>'
@app.route('/signin',methods=['GET'])
def signin_form():
return '''<form action="/signin" method="post">
<p><input name="username"></p>
<p><input name="password" type="password"></p>
<p><button type="submit">Sign In</button></p>
</form>'''
@app.route('/signin',methods=['POST'])
def signin():
# 需要从request对象中读取表单内容
if request.form['username'] == 'admin' and request.form['password'] == 'password':
return '<h3>hello,admin!</h3>'
return '<h3>Bad username or password.</h3>'
if __name__ == '__main__':
app.run()
实际的Web App应该拿到用户名和口令后,去数据库查询再比对,来判断用户是否能登录成功。
运行python app.py,Flask自带的Server在端口5000上监听:
首页:
登录页:
登录结果:
登陆成功:
登陆失败: