Web服务框架
框架的基本概念
一个web框架至少要具备处理浏览器客户端请求和服务端响应的能力
1、框架的特性
路由:解析URL并找到对应的服务端文件或者Python服务器代码
模板:把服务器数据合并成HTML页面
认证和授权:处理用户名、密码和权限
会话(Session):处理用户在多次请求之间需要存储的数据
2、Flask框架
测试小例子:
from flask import Flask
app = Flask(__name__)
# 定义一个路由,“/”对应了hello函数,函数直接作为页面内容返回给客户端的浏览器
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
表单插件Flask-WTF
表单扩展库Flask-WTF
每个表单抽象成类
先进行Flask-WTF拓展的安装:
进入pycharm的settings-project interpreter,点右侧+,在弹出窗体搜索flask-wtf,点击install package
使用实例:
from flask_wtf import Form
from wtforms import StringField
from wtforms.validators import DataRequired
'''在MyForm里定义Form的每个字段
# 如下user是一个文本获取字符串的一个字段(StringField()),对应一个文本输入框
# 函数validators可以用来判断输入数据是否符合规范'''
class MyForm(Form):
user = StringField('Username', validators=[DataRequired()])
from flask import Flask,render_template
app = Flask(__name__)
app.secret_key = '123456'
# 路由中/login映射到login函数
@app.route('/login', methods = ('GET', 'POST'))
def login():
# 生成表单对象
form = MyForm()
# 获取表单数据进行校验
if form.validate_on_submit():
if form.data['user'] == 'admin':
# 给用户返回信息
return 'Admin login successfully!'
else:
return 'Wrong user!'
# render_template为一个模板,有一个login.html
return render_template('login.html', form = form)
if __name__ == "__main__":
app.run()