Flask的安装以及项目的搭建

开始之前

这是一篇写给自己的教程,如果有什么疑问请留言

flask简介

简介

Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。Itsdangrous这两个也是 Flask 框架的核心。

官网: https://flask.palletsprojects.com/en/1.1.x/

官方文档: http://docs.jinkan.org/docs/flask/

Flask常用第三方扩展包:

  • Flask-SQLalchemy:操作数据库,ORM;
  • Flask-script:终端脚本工具,脚手架;
  • Flask-migrate:管理迁移数据库;
  • Flask-Session:Session存储方式指定;
  • Flask-WTF:表单;
  • Flask-Mail:邮件;
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Login:认证用户状态;
  • Flask-OpenID:认证, OAuth;
  • Flask-RESTful:开发REST API的工具;
  • Flask JSON-RPC: 开发rpc远程服务[过程]调用
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架
  • Flask-Moment:本地化日期和时间
  • Flask-Admin:简单而可扩展的管理接口的框架

可以通过 https://pypi.org/search/?c=Framework+%3A%3A+Flask 查看更多flask官方推荐的扩展

安装

创建虚拟环境

  • anaconda
# 创建虚拟环境
conda create -n <虚拟环境名称> Python=<python版本>

# 进入/切换虚拟环境
conda activate <虚拟环境名称>

# 退出当前虚拟环境
conda deactivate

# 删除虚拟环境
conda remove -n <虚拟环境名称> --all

# 删除虚拟环境中的包
conda remove --name $<虚拟环境名称> $<包名>


# 一些常用命令
conda install <包名>  # 安装包 等价于 pip install <包>
conda list  #  查看安装了那些包 等价于 pip list
conda envlist # 查看当前存在那些虚拟环境
conda info -e # 查看当前存在那些虚拟环境
conda update conda # 检查更新当前conda

  • virtualenv
# 创建虚拟环境
mkvirtualenv <虚拟环境名称>

# 查看当前存在那些虚拟环境
workon

# 进入/切换虚拟环境
workon <虚拟环境名称>

# 退出当前虚拟环境
deactivate

# 删除虚拟环境名称
rmvirtualenv <虚拟环境名称>

安装

pip install flask==<版本>

# 如果使用conda创建的虚拟环境还可以使用
conda install flask==<版本>

搭建flask项目

手撸版

  1. 创建项目根目录。例如:flaskdemo

  2. 在pycharm中打开项目并指定上面创建得虚拟环境

  3. 创建flask框架的启动文件。例如app.py/run.py/main.py/index.py/manage.py/atart.py

app.py代码

from flask import Falsk

app = Flask(__name__)

@app.route('/')
def index():
	return 'hello world'


if __name__ == '__main__':
	app.run()

使用pycharm搭建

使用pycharm搭建的项目会自动创建两个文件夹,static用于存放静态文件,templates用于存放模板

代码分析

# 导入Flask类
from flask import Flask

"""
import_name      Flask程序所在的包(模块),传 __name__ 就可以
                 其可以决定 Flask 在访问静态文件时查找的路径
static_path      静态文件访问路径(不推荐使用,使用 static_url_path 代替)
static_url_path  静态文件访问路径,可以不传,默认为:/ + static_folder
static_folder    静态文件存储的文件夹,可以不传,默认为 static
template_folder  模板文件存储的文件夹,可以不传,默认为 templates
"""

app = Flask(import_name=__name__)


# 编写路由视图
# flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。
# flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。
@app.route('/')
def index():	
    return '<h1>hello world</h1>'


if __name__ == '__main__':
    # 什么都不写默认(host='127.0.0.1', port=5000)
    # app.run()
	
    # 指定服务器IP和端口,运行flask
    app.run(host="0.0.0.0", port=5000)

项目的运行

在终端

  1. 首先进入虚拟环境

  2. cd 到项目根目录

  3. 执行python app.py(app.py为项目启动文件),你会看到如下提示:

(flask) D:\flask\flask_test>python app.py
 * Serving Flask app 'app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
  1. 在浏览器访问127.0.0.1:5000即可查看运行结果

直接右键运行app.py

你会看到如下提示:

FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder D:/flask/flask_test
D:\Envs\flask\Scripts\python.exe -m flask run
 * Serving Flask app 'app.py' (lazy loading)
 * Environment: development
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
posted @ 2021-05-20 16:09  pure3417  阅读(514)  评论(0编辑  收藏  举报