认识Flask

Flask框架介绍

  • 使用flask框架实现web应用得基本功能
  • 能够使用flask-restful扩展包实现基于REST风格得接口
  • 能够使用flasj-sqlalchemy扩展包完成数据库得常见操作

Flask使用python语言编写得轻量级web框架
Flask本身相当于一个内核,主要实现了路由分发和模板渲染功能,分别继承自Werkzeug 和 Jinja2模块包, 这两个也是Flask框架的核心。

虽然核心精简, 但flask提供了非常好的扩展机制, 开发中的各类需求基本都有对应的官方/第三方扩展可以实现, 甚至连自己动手实现也很简单。

Flask常用扩展包

  • Flask-SQLalchemy:ORM操作数据库;
  • Flask-RESTful:开发REST API的工具;
  • Flask-Session:Session存储;
  • Flask-Migrate:管理迁移数据库;
  • Flask-Caching:缓存;
  • Flask-WTF:表单;
  • Flask-Mail:邮件;
  • Flask-Login:认证用户状态;
  • Flask-OpenID:认证;
    Flask-Admin:简单而可扩展的管理接口的框架
    Flask-Bable:提供国际化和本地化支持,翻译;
    Flask-Bootstrap:集成前端Twitter Bootstrap框架;
    Flask-Moment:本地化日期和时间;

框架轻重

  1. 重量级的框架:包含全家桶式丰富的工具,方便业务程序的快速开发,如Django
  2. 轻量级的框架:只提供Web框架的核心功能,自由灵活、方便高度定制,如Flask、Tornado

环境安装

# 创建虚拟环境 
mkvirtualenv flask_env -p python3
# 安装flask包  
pip install flask==1.0.2

新建flask项目

创建 Pure Python 类型的项目,使用之前创建的 flask_env 作为虚拟环境
在这里插入图片描述
在这里插入图片描述

打开 Pycharm,进入settings , 取消默认的Flask项目关联(避免生成默认配置)
在这里插入图片描述

新建文件helloflask.py
导入Flask类

from flask import Flask

创建Flask对象, 接收一个参数__name__,它会指向程序所在的包

# 1.创建Flask应用
app = Flask(__name__)

Flask应用程序实例的 run 方法 启动 WEB 服务器

if __name__ == '__main__':
    # 2.运行应用 (启动一个测试服务器, 接收请求并调用对应的视图函数)
    app.run()

装饰器的作用是将路由映射到视图函数 index

# 3.定义路由
@app.route('/')
def index():
    return 'hello flask'

app.run的参数

可以指定运行的主机IP地址,端口,是否开启调试模式
# host: 绑定的ip(域名)  0.0.0.0
# port: 监听的端口号
# debug: 是否开启调试模式  1> 可以在网页上显示python错误 2> 更新代码后测试服务器自动重启
app.run(host='0.0.0.0', port=8000, debug=True)
from flask import Flask
# 1.创建Flask应用
app = Flask(__name__)

# 3.定义路由
@app.route('/')
def index():
    return 'hello flask'

if __name__ == '__main__':
    # 2.运行应用 (启动一个测试服务器, 接收请求并调用对应的视图函数)
    app.run()

在这里插入图片描述

2. 1.x版本的启动方式

使用app.run()当然也行,但是如果项目在服务器上改变端口得话是很不方便得

  • flask1.0开始, 类似Django, 通过终端执行封装的脚本命令flask run来运行应用, 不再需要调用app.run()
  • 新的形式更加有利于 灵活修改环境配置
export FLASK_APP=xx.py  # 指定flask应用所在的文件路径
export FLASK_ENV=development  # 设置项目的环境, 默认是生产环境
flask run -h 0.0.0.0 -p 8000  # 启动测试服务器并接受请求
  • 环境变量相当于 系统的全局变量, 所有程序可用
# 获取环境变量
export  # 查看所有环境变量
echo $环境变量   # 查看指定的环境变量

# 设置环境变量
export 环境变量名=# 给本次会话设置环境变量, 一旦终端关闭, 环境变量会清空
# 将环境变量写入配置文件(.bashrc/.bash_profile), 重新打开终端时再次加载环境变量

在这里插入图片描述
设置调试模式得环境变量
在这里插入图片描述
在这里插入图片描述

Pycharm运行flask程序

在这里插入图片描述

在这里插入图片描述
为了方便测试代码, 代码示例中仍会主要采用app.run的形式, 但实际开发中应该尽量使用 环境变量&终端命令的形式

在这里插入图片描述

文档

  • 官方文档 https://flask.palletsprojects.com
  • 中文翻译 https://dormousehole.readthedocs.io/en/latest/index.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X~~X~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值