当前位置: 首页 > news >正文

第一个 Flask 项目

第一个 Flask 项目

  • 安装环境
  • 创建项目
  • 启动程序
  • 访问项目
  • 参数说明
    • Flask对象的初始化参数
    • app.run()参数
  • 应用程序配置参数

安装环境

mkvirtualenv flask_envpip 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应用的行为和特性。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第十二节、人物下蹲
  • 生产力工具|vscode for mac安装及过程留存
  • 探索哈希表:C++中的实现与操作详解【Map、Set、数据结构】
  • 【Python学习手册(第四版)】学习笔记13.1-while、for循环
  • C++的STL简介(一)
  • R语言统计分析——描述性统计
  • YUM软件包管理工具:更改YUM源、配置本地YUM仓库
  • 前端学习AI历程
  • 计算机基础(Windows 10+Office 2016)教程 —— 第8章 多媒体技术及应用
  • Cursor搭配cmake实现C++程序的编译、运行和调试
  • ScriptEcho:AI赋能的前端代码生成神器
  • HarmonyOS 与 OpenHarmony 的区别详解
  • 【C++程序设计】——利用数组处理批量数据(二)
  • 前端低代码必备:FrontendBlocks 4.0版本重磅发布,助力Uniapp-X原生APP开发
  • ChatGPT能代替网络作家吗?
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • android 一些 utils
  • Android系统模拟器绘制实现概述
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Cumulo 的 ClojureScript 模块已经成型
  • exports和module.exports
  • IDEA常用插件整理
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • mysql 数据库四种事务隔离级别
  • Python爬虫--- 1.3 BS4库的解析器
  • underscore源码剖析之整体架构
  • yii2中session跨域名的问题
  • 高性能JavaScript阅读简记(三)
  • 网页视频流m3u8/ts视频下载
  • 学习笔记:对象,原型和继承(1)
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​马来语翻译中文去哪比较好?
  • $(selector).each()和$.each()的区别
  • (2)空速传感器
  • (27)4.8 习题课
  • (Charles)如何抓取手机http的报文
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (不用互三)AI绘画工具应该如何选择
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)模仿学习-Action数据的模仿
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)基于IDEA的JAVA基础12
  • (译) 函数式 JS #1:简介
  • (转)fock函数详解
  • (转)Linux整合apache和tomcat构建Web服务器
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .chm格式文件如何阅读
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始