第一个 Flask 项目

第一个 Flask 项目

安装环境

bash 复制代码
mkvirtualenv flask_env

pip install flask

创建项目

启动程序

访问项目

http://127.0.0.1:5000/

参数说明

Flask是一个用Python编写的轻量级Web应用框架,它提供了构建Web应用所需的基本工具和功能。以下是Flask的一些主要参数说明:

Flask对象的初始化参数

在创建Flask应用时,可以通过Flask类的构造函数传递一些参数来定制应用的行为。

  • import_name

    • 类型:字符串(通常使用__name__
    • 描述:Flask程序所在的包(模块)名。这个参数用于决定Flask在访问静态文件时查找的路径,以及用于Flask扩展的注册。对于大多数应用,使用__name__作为这个参数的值即可。
  • static_url_path

    • 类型:字符串
    • 描述:静态文件访问路径的前缀。默认为'/static'。这个参数允许你为静态文件指定一个URL前缀,比如设置为'/assets',则静态文件将通过'/assets/...'的路径访问。
  • static_folder

    • 类型:字符串
    • 描述:静态文件存储的文件夹名。默认为'static'。这个参数用于指定存放静态文件的文件夹名,Flask将从这个文件夹中提供静态文件。
  • template_folder

    • 类型:字符串
    • 描述:模板文件存储的文件夹名。默认为'templates'。这个参数用于指定存放模板文件的文件夹名,Flask将从这个文件夹中加载模板文件。

app.run()参数

在Flask应用中,通常使用app.run()方法来启动开发服务器。这个方法接受一些参数来配置服务器的行为。

  • host

    • 类型:字符串
    • 描述:指定服务器运行的主机名。默认为'127.0.0.1',表示仅本机可以访问。如果设置为'0.0.0.0',则表示服务器将监听所有可用的网络接口,允许外部访问。
  • port

    • 类型:整数
    • 描述:指定服务器监听的端口号。默认为5000
  • debug

    • 类型:布尔值
    • 描述:指定是否启用调试模式。默认为False。在调试模式下,Flask会提供详细的错误跟踪和调试信息,并允许热重载(即在修改代码后自动重启服务器)。然而,在生产环境中应该禁用调试模式,以避免泄露敏感信息。

应用程序配置参数

Flask将配置信息保存在app.config属性中,这个属性是一个字典对象,可以存储各种配置信息,如数据库连接信息、日志配置等。

  • 配置加载方式

    • 可以通过几种方式加载配置参数:
      1. 从配置对象中加载:定义一个配置类,并通过app.config.from_object(config_object)加载配置。
      2. 从配置文件中加载:创建一个配置文件(如config.py),并通过app.config.from_pyfile('config.py')加载配置。
      3. 从环境变量中加载:通过app.config.from_envvar('FLASK_CONFIG_FILE')根据环境变量指定的路径加载配置文件。
      4. 直接在代码中设置:通过app.config['DEBUG'] = True等方式直接在代码中设置配置参数。
  • 常用配置参数

    • DEBUG:是否启用调试模式。
    • SECRET_KEY:用于保持客户端会话安全的一个密钥。
    • SQLALCHEMY_DATABASE_URI(如果使用Flask-SQLAlchemy扩展):数据库连接URI。
    • 其他与特定扩展或应用需求相关的配置参数。

以上是Flask框架中一些主要参数的说明。通过合理配置这些参数,可以灵活地定制Flask应用的行为和特性。

相关推荐
宁&沉沦13 小时前
Chrome 扩展 Manifest 字段版本支持一览(全量)
前端·后端·编辑器
小柯南敲键盘14 小时前
跨马翻译:批量图片与视频字幕翻译,支持智能抠图
大数据·人工智能·python·音视频
吃饱了得干活14 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
再渊14 小时前
基因归因到底怎么计算的?
python·深度学习·机器学习
520拼好饭被践踏14 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
whi14 小时前
V 编译器 v3 ownership 模式:编译与使用指南
后端·编译器
E_ICEBLUE14 小时前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
swipe14 小时前
05|(前端转后全栈)不手写一堆 SQL,后端怎么操作数据库?MyBatis-Plus 入门
前端·后端·全栈
霸道流氓气质14 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端
swipe14 小时前
04|(前端转后全栈)前端状态为什么不够用?从页面数据到 MySQL 持久化
前端·后端·全栈