Flask

MJX2023/11/04PythonFlask

介绍

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

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

官方文档:

准备阶段

  1. 使用本地环境或者创建虚拟环境(建议创建虚拟环境)。具体怎么创建可以看 这篇文章

  2. 安装 Flask

    pip install flask
    

项目结构

  • static:静态文件(js、css、图片等等)
  • templates:模板文件(主要是 HTML 文件)
  • app.py:项目从这个文件运行,是核心文件。

Flask文件结构默认为上面这样,是可以通过配置改变的(如果不修改的话就一定要按照上面目录来,否则会报错)。

第一个Falsk程序

配置好了环境,了解了项目结构后就可以开始我们的第一个 Flask 程序了。

from flask import Flask  # 导 Flask 类,这个类是项目的核心。
 
app = Flask(__name__)
# 初始化 Flask 应用程序的实例对象
 
 
@app.route('/')  
# 装饰器 作用是将url中的 / 映射到 hello_world 这个视图函数上面
# 访问我这个网站的 / 目录的时候,会执行hello_world这个函数,然后将这个函数的返回值返回给浏览器。
# 如当你访问网址 http://127.0.0.1:8888/ -> 跳转去访问 hello_world 函数
def hello_world():   # 视图的函数名不能重复,否则报错
    return 'Hello World!'  # 这里可以返回很多东西: 字符串、数字、静态文件、html、json 数据等等
 
 
if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8888, debug=True)
# 启动服务
# host:	ip,如果希望外网也能访问要设置为 0.0.0.0
# port:端口默认为 5000
# debug:debug 模式下修改代码会重新运行网站,不开启的话修改代码以后需要自己重新运行代码

Flask( )的部分参数讲解:

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