flask各种版本的项目,终端命令运行方式的实现

news/2024/5/13 4:51:53

目录

写在前面

一、Flask项目的基本结构

二、使用终端命令运行Flask项目

1. 安装Flask

2. 创建Flask应用

3. 配置FLASK_APP环境变量

4. 运行Flask应用

5. 访问Flask应用

三、Flask CLI的其他功能

1. 创建Flask应用

2. 运行开发服务器

3. 清理缓存文件

4. 运行单元测试

5. 查看路由信息

四、总结



写在前面

Flask是一个基于Python的轻量级Web框架,它简单易用,但功能强大,可以快速开发Web应用。在Flask中,通过终端命令来运行项目是一种常见的方式,本文将介绍如何在终端中使用命令来运行Flask项目,并提供相应的代码示例。

一、Flask项目的基本结构

在开始之前,我们先来了解一下Flask项目的基本结构。一个典型的Flask项目通常有以下文件和文件夹:

  • app.py或__init__.py:Flask应用程序的入口文件,包含创建和初始化Flask应用实例的代码。
  • templates文件夹:存放HTML模板文件。
  • static文件夹:存放静态文件,如CSS、JavaScript和图片等。
  • requirements.txt:用于记录项目的依赖包。

二、使用终端命令运行Flask项目

Flask提供了一个命令行工具Flask Command Line Interface(CLI),可以通过该工具在终端中运行Flask项目。下面是使用终端命令运行Flask项目的步骤:

1. 安装Flask

首先,我们需要安装Flask。可以使用pip命令来安装Flask,打开终端并执行以下命令:

pip install flask

2. 创建Flask应用

在项目文件夹中创建app.py或__init__.py文件,并编写以下代码:

from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello():return 'Hello, Flask!'

上述代码创建了一个简单的Flask应用,当访问根路径'/'时,返回字符串'Hello, Flask!'。

3. 配置FLASK_APP环境变量

在终端中,我们需要设置一个环境变量FLASK_APP,该环境变量指定了要运行的Flask应用的入口文件。在项目文件夹中执行以下命令:

export FLASK_APP=app.py

或者在Windows上执行:

set FLASK_APP=app.py

4. 运行Flask应用

在终端中执行以下命令来运行Flask应用:

flask run

或者可以使用以下命令指定主机和端口号:

flask run --host=0.0.0.0 --port=8000

上述命令中,--host参数指定了要监听的主机地址,--port参数指定了要监听的端口号。

5. 访问Flask应用

在浏览器中访问 http://localhost:5000(或指定的主机地址和端口号),你将看到'Hello, Flask!'字符串。

以上就是使用终端命令运行Flask项目的基本步骤。接下来,我们可以进一步了解如何使用Flask CLI的其他功能。

三、Flask CLI的其他功能

Flask CLI提供了一些其他的有用功能,可以通过在终端中执行命令来使用这些功能。

1. 创建Flask应用

执行以下命令来创建一个新的Flask应用:

flask init

该命令将创建一个基本的Flask应用结构,包括app.py或__init__.py、templates和static文件夹。

2. 运行开发服务器

执行以下命令来运行带有自动重载的开发服务器:

flask run

该命令会自动监视文件的变化,并在文件发生更改时重新加载应用。

3. 清理缓存文件

执行以下命令来清理缓存文件:

flask clear

该命令将会删除缓存文件,包括模板缓存文件和字节码文件。

4. 运行单元测试

执行以下命令来运行单元测试:

flask test

该命令将运行项目中的单元测试。

5. 查看路由信息

执行以下命令来查看应用中定义的路由信息:

flask routes

该命令将列出应用中的所有路由及其对应的规则和处理函数。

以上是Flask CLI的一些常用功能,可以大大提高开发效率。

四、总结

本文介绍了如何在终端中使用命令来运行Flask项目,并提供了相应的代码示例。通过使用Flask CLI,我们可以方便地创建Flask应用、运行开发服务器、清理缓存文件、运行单元测试等。希望本文对你理解如何使用Flask CLI运行项目有所帮助。


http://www.mrgr.cn/p/36888224

相关文章

45.跳跃游戏||

// 定义一个名为Solution的类 class Solution {// 定义一个public方法jump,输入参数为一个整数数组nums,返回值类型为整数public int jump(int[] nums) {// 初始化跳跃次数结果变量为0int result 0;// 初始化当前覆盖的最远距离下标为0int end 0;// 初…

打造新质生产力,亚信科技2024年如何行稳致远?

引言:不冒进、不激进,稳扎稳打, 一个行业一个行业地深度拓展。 【全球云观察 | 科技热点关注】 基于以往“一巩固、三发展”的多年业务战略,亚信科技正在落实向非通信行业、标准产品、软硬一体产品和国际市场的“四…

git clone 后如何 checkout 到 remote branch

what/why 通常情况使用git clone github_repository_address下载下来的仓库使用git branch查看当前所有分支时只能看到master分支,但是想要切换到其他分支进行工作怎么办❓ 其实使用git clone下载的repository没那么简单😥,clone得到的是仓库…

自营商城私域商城的选品上货如何借助API实现自动化商品采集商品搜索无货源?

商业智能时代的来临,在线化、网络化、智能化、企业与用户的颗粒度越来越细,满足每个人的个性化要求也是未来商业的重要特征!马云曾经说过,未来的核心资源是数据,数据将成为一家企业动力源,而这一切的基础都…

重塑未来:Web3如何改变我们的数字生活

引言 随着科技的飞速发展,Web3已经成为数字时代的新潮流,其革命性的变革正在渐渐改变着我们的数字生活。本文将深入探讨Web3如何改变我们的数字生活,涉及其意义、应用场景、对未来的影响,以及我们如何适应这一变革,为…

Si24R2F+2.4GHz ISM 频段低功耗无线集成嵌入式发射基带无线

Si24R2F在原有Si24R2F的基础上:优化了射频性能、增加NTC测温、增加自动唤醒间隔、优化了蓝牙性能。在固定资产管理、冷链物流和牛羊畜牧业标签市场更具竞争力。 在原有SI24R2E做白卡/校徽的群体,在新的卡片机应用,更加推荐用SI24R2F&#xff…

学习可视化比较好用的网站Apache ECharts

Apache ECharts 是一个基于 JavaScript 的开源可视化图表库,它提供了直观、交互丰富且可高度个性化定制的数据可视化图表。这个库最初由百度团队开源,并在 2018 年初捐赠给了 Apache 基金会,成为 ASF 的孵化级项目。在 2021 年 1 月 26 日&am…

DHCP的使用。

打开服务管理器,点击方框中的添加角色和功能。 点击下一步。 点击下一步。 点击下一步。 将DHCP服务器勾选上,点击下一步。 点击下一步。 点击下一步。 点击安装。 等待安装。 点击箭头所指处。 点击,点击完成DHCP配置。 点击提交。 点击DHCP…

【C++入门】 初见,单推,与C++的第一次约会

关注小庄 顿顿解馋(ᕑᗢᓫ∗)˒ 引言:本篇博客我们开始与C的第一次约会,C是兼容c的,本篇博客我们将了解到C关键字有哪些,C命名空间,C输入与输出和缺省参数的内容,请放心食用 ~ 文章目录 一 🏠 C…

【论文速读】| 对大语言模型解决攻击性安全挑战的实证评估

本次分享论文为:An Empirical Evaluation of LLMs for Solving Offensive Security Challenges 基本信息 原文作者:Minghao Shao, Boyuan Chen, Sofija Jancheska, Brendan Dolan-Gavitt, Siddharth Garg, Ramesh Karri, Muhammad Shafique 作者单位&a…

【Selenium】隐藏元素的定位和操作|隐藏与isDisplay方法

一、selenium 中隐藏元素如何定位? 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys) 二、隐藏元素 如下图有个输入框…

【搜索引擎2】实现API方式调用ElasticSearch8接口

1、理解ElasticSearch各名词含义 ElasticSearch对比Mysql Mysql数据库Elastic SearchDatabase7.X版本前有Type,对比数据库中的表,新版取消了TableIndexRowDocumentColumnmapping Elasticsearch是使用Java开发的,8.1版本的ES需要JDK17及以上…

Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像。文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈…

回文子串 每日温度 接雨水

647. 回文子串 力扣题目链接 如果s【i】和s【j】相同 dp【i1】【j-1】也是回文串的话 (等于true) 那么dp【i】【j】也是回文串 true 定义一个bool二维数组 遍历顺序是从下到上 从左到右 因为dp【i】【j】是通过dp【i1】【j-1】推出来的 i从最后一…

CI/CD实战-jenkins部署 3

安装 软件下载地址:Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 启动服务 安装推荐插件 不新建用户,使用admin账号登录 修改一下初始密码 新建项目测试 安装git命令 生成密钥 在gitlab中上传公钥 修改ssh 创建中…

AQS源码分析

前言 AbstractQueuedSynchronizer是抽象同步队列,其是实现同步机器的基础组件,并发包中的锁的底层就是使用AQS实现的。AQS中 维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞…

培训机构必备,乔拓云教育系统助你快速上线移动学员端口

在当今数字化时代,自媒体平台已经成为人们获取信息、学习新知识的重要渠道。而对于培训机构而言,如何有效利用这些平台,将优质课程推广给更多学员,成为了一个亟待解决的问题。现在,乔拓云教育系统为你提供了一个全新的…

Unity DOTS中的baking(四)blob assets

Unity DOTS中的baking(四)blob assets blob assets表示不可变的二进制数据,在运行时也不会发生更改。由于blob assets是只读的,这意味着可以安全地并行访问它们。此外,blob assets仅限于使用非托管类型,这意…

esp32CAM环境搭建(arduino+MicroPython+thonny+固件)

arduino ide 开发工具 arduino版本:1.8.19 arduino ide 中文设置:​ file >> preferences >> ​ arduino IDE 获取 ESP32 开发环境:打开 Arduino IDE ,找到 文件>首选项 ,将 ESP32 的配置链接填入附加开发板管理网…

在CentOS7上模拟使用dbt2 tpc-c测试(未成功)为vm虚拟机加装硬盘解决secure-file-priv o问题解决(OS errno 13 - Permission denied)

给虚拟机加装硬盘 //虚拟机➡设置➡硬盘➡添加[root@localhost ~]# fdisk /dev/sdb //新硬盘分区 欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。Device does not contain a recognized partition table …