什么是Flask?
Flask是一个Web框架,就是提供一个工具,库和技术来允许你构建一个Web应用程序.这个Web应用程序 可以是一些Web页面,博客, wiki ,基于 Web 的日历应用或商业网站。
Flask依赖模块: web服务网关接口(Python Web Server Gateway Interface,缩写为WSGI
Werkzeug 一个WSGI工具包, 是为python语言定义的web服务器和web应用程序或框架之间的一 种简单而通用的借 口,其他语言也有类似的接口)
jinja2模板引擎
Flask的优势
Flask属于微框架( micro-framework )这一类别,微架构通常是很小的不依赖外部库的框架.
框架很轻量
更新时依赖小
专注于安全方面的bug
Flask 应用
第一个网站
from flask import Flask
app = Flask(__name__)
# 实现首页: http://172.25.254.197:9999/
@app.route('/') # 路由
def index(): # 视图函数, 一定不能重复;
return '这是网站的首页'
@app.route('/login/')
def login():
return "正在登录......"
@app.route('/logout/')
def logout():
return "正在登出......"
if __name__ == '__main__':
# 运行Flask项目, 默认ip和端口是127.0.0.1:5000
# 如何特色化指定? host='0.0.0.0' 开放本机的所有IP port=5000 端口必须是整形数
# debug=True: 是否开启调试模式, 测试环境中开启, 生产环境一定要关闭.
app.run(host='0.0.0.0', port=9999, debug=True)
路由和变量规则
# 1.路由中的变量规则
有时候需要接收URL中的参数变量,可以把参数标记为一个变量<变量名>,这个部分将会作为命名参数传递给函数。
同时还可以限制参数变量的类型<类型:变量名>。
# 2. 数据类型一共有三种:int, float, path
类型 描述
int 接受整数
float 同 int ,但是接受浮点数
path 和默认的相似,但也接受斜线
# 3. 范例1:
http://www.csdn.org/12000
http://www.csdn.org/12001
http://www.csdn.org/12002
http://www.csdn.org/12003
# 4.范例2-动态路由:
http://www.csdn.org/<userid>
from flask import Flask, request
app = Flask(__name__)
@app.route('/<int:userid>/')
def userinfo(userid):
return "正在查看用户%s的详细博客........" %(userid)
@app.route('/welcome/<string:username>')
def welcome(username):
return "欢迎访问%s用户的主页" %(username)
"""
https://movie.douban.com/top250?start=25&filter=
"""
@app.route('/top250')
def top250():
users = ['user%s' %(i