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

Flask小项目教程(含MySQL与前端部分)

CONTENTS

    • 1. 环境配置
    • 2. 快速搭建Flask应用程序

1. 环境配置

首先我们在项目的根目录下创建一个 Python 虚拟环境,打开命令行输入以下指令:

python -m venv venv

启动虚拟环境:

.\venv\Scripts\Activate.ps1

如果遇到报错:.\venv\Scripts\Activate.ps1 : File ...\venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system.,说明可能是系统禁止运行脚本,打开 PowerShell 查看一下系统当前的执行策略:

get-executionpolicy

如果为 Restricted 说明此系统不载入任何配置文件,不运行任何脚本。我们需要修改一下执行策略,以管理员身份打开 PowerShell,使用以下指令修改执行策略:

Set-ExecutionPolicy Unrestricted  # 设置全局的执行策略
Set-ExecutionPolicy -Scope CurrentUser Unrestricted  # 设置当前用户的执行策略

接下来我们安装 Flask:

pip install flask

2. 快速搭建Flask应用程序

我们先看一下如何创建 URL 与函数的对应关系:

from flask import Flaskapp = Flask(__name__)  # 实例化Flask类的对象@app.route("/index")
def index():return "<h1>Hello World!</h1>"if __name__ == "__main__":app.run()

其中的 @app.route 作用是创建了网址 /indexindex 函数的对应关系。现在我们运行程序,能看到终端的输出: * Running on http://127.0.0.1:5000,然后我们访问 http://127.0.0.1:5000/index 即可看到 Hello World!

注意我们返回的字符串中有 <h1></h1> 标签,这是 HTML 标签,整个项目的逻辑是用户(浏览器)访问 URL 时向 Web 应用(此处就是 Flask)发送请求,然后 Web 应用向浏览器返回一个字符串,浏览器是具备解析 <h1> 这类 HTML 标签的能力的。前端部分的学习可以在 Web 专栏中找到。

Tips:PyCharm 输入 main 即可自动补全出 if __name__ == "__main__":,VS Code 则需要进行配置,点击左下角的齿轮,选择 User Snippets(用户代码片段),然后在弹出的下拉选框中选择 python,这时会出来一个配置文件 python.json,然后向该文件中添加 "Print to console" 项,修改后如下:

{"Print to console": {"prefix": "main","body": ["if __name__ == '__main__':","    ${1:pass}","",],"description": "python--main"}
}

Flask 框架为了让我们写 HTML 标签更方便,支持将这些内容写到一个单独的文件中,render_template 函数可以渲染 HTML 文件,默认是从项目根目录下的 templates 目录中开始寻找文件,我们创建 templates 目录并创建一个 index.html 如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Index</title>
</head>
<body><h1>Hello World!</h1>
</body>
</html>

现在就可以将之前的字符串改为渲染一个 HTML 文件了:

from flask import Flask, render_templateapp = Flask(__name__)  # 实例化Flask类的对象@app.route("/index")
def index():return render_template("index.html")if __name__ == "__main__":app.run()

假设我们在页面中需要引入一张本地的图片,在 Flask 中要求我们需要将图片这类静态文件(还有视频、音频、CSS、JS 等)放在项目根目录中的 static 目录下,假设我们有一张图片放在 static/image 目录下,那么就可以直接用相对路径调用该图片了:

<!DOCTYPE html>
<html lang="en">
...
<body><h1>Hello World!</h1><img src="/static/image/background.jpg" />
</body>
</html>

相关文章:

Flask小项目教程(含MySQL与前端部分)

CONTENTS 1. 环境配置2. 快速搭建Flask应用程序 1. 环境配置 首先我们在项目的根目录下创建一个 Python 虚拟环境&#xff0c;打开命令行输入以下指令&#xff1a; python -m venv venv启动虚拟环境&#xff1a; .\venv\Scripts\Activate.ps1如果遇到报错&#xff1a;.\venv…...

Eureka

大家好我是苏麟今天带来Eureka的使用 . 提供者和消费者 在服务调用关系中&#xff0c;会有两个不同的角色&#xff1a; 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09; 服务消费者&#xff1a;一次业务…...

STM32G070RBT6-MCU温度测量(ADC)

1、借助STM32CubeMX生成系统及外设相关初始化代码。 在以上配置后就可以生成相关初始化代码了。 /* ADC1 init function */ void MX_ADC1_Init(void) {/* USER CODE BEGIN ADC1_Init 0 *//* USER CODE END ADC1_Init 0 */ADC_ChannelConfTypeDef sConfig {0};/* USER COD…...

数据结构之带头双向循环链表

目录 链表的分类 带头双向循环链表的实现 带头双向循环链表的结构 带头双向循环链表的结构示意图 空链表结构示意图 单结点链表结构示意图 多结点链表结构示意图 链表创建结点 双向链表初始化 销毁双向链表 打印双向链表 双向链表尾插 尾插函数测试 双向链表头插 …...

adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表

adb对于安卓移动端来说&#xff0c;是个非常重要的调试工具。本篇介绍常用的adb指令 文章目录 一、启动应用&#xff1a;adb shell am start二、使用浏览器打开指定网址&#xff1a;adb shell am start三、杀死应用进程adb shell am force-stop/adb shell am kill四、删除应用所…...

【Spring Boot】日志文件

日志文件 一. 日志文件有什么用二. 日志怎么用三. ⾃定义⽇志打印1. 在程序中得到⽇志对象2. 使⽤⽇志对象打印⽇志3. ⽇志格式说明 四. 日志级别1. ⽇志级别有什么⽤2. ⽇志级别的分类与使⽤ 五. 日志持久化六. 更简单的⽇志输出—lombok1. 添加 lombok 依赖2. 输出⽇志3. lom…...

图像处理与计算机视觉--第五章-图像分割-Canny算子

文章目录 1.边缘检测算子分类2.Canny算子核心理论2.1.Canny算子简单介绍2.2.Canny算子边缘检测指标2.3.Canny算子基本原理 3.Canny算子处理流程3.1.高斯滤波去噪声化3.2.图像梯度搜寻3.3.非极大值抑制处理3.4.双阈值边界处理3.5.边界滞后技术跟踪3.6.Canny算子边缘检测的特点 4…...

LabVIEW开发教学实验室自动化INL和DNL测试系统

LabVIEW开发教学实验室自动化INL和DNL测试系统 如今&#xff0c;几乎所有的测量仪器都是基于微处理器的设备。模拟输入量在进行数字处理之前被转换为数字量。对于参加电气和电子测量课程的学生来说&#xff0c;了解ADC以及如何欣赏其性能至关重要。ADC的不确定性可以根据其传输…...

数据结构: 数组与链表

目录 1 数组 1.1 数组常用操作 1. 初始化数组 2. 访问元素 3. 插入元素 4. 删除元素 5. 遍历数组 6. 查找元素 7. 扩容数组 1.2 数组优点与局限性 1.3 数组典型应用 2 链表 2.1 链表常用操作 1. 初始化链表 2. 插入节点 3. 删除…...

unity 控制玩家物体

创建场景 放上一个plane&#xff0c;放上一个球 sphere&#xff0c;假定我们的球就是我们的玩家&#xff0c;使用控制键w a s d 来控制球也就是玩家移动。增加一个材质&#xff0c;把颜色改成绿色&#xff0c;把材质赋给plane&#xff0c;区分我们增加的白球。 增加组件和脚…...

指数分布优化器(EDO)(含MATLAB代码)

先做一个声明&#xff1a;文章是由我的个人公众号中的推送直接复制粘贴而来&#xff0c;因此对智能优化算法感兴趣的朋友&#xff0c;可关注我的个人公众号&#xff1a;启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法&#xff0c;经典的&#xff0c;或者是近几年…...

Java 时间的加减处理

时间的加减处理 Date date new Date(操作时间&#xff08;类型Date&#xff09;-(60000*60*1));600001分钟 60000*60*1 1小时...

基于A4988/DRV8825的四路步进电机驱动器

概述 简化板的CNC sheild V3.0&#xff0c;仅保留步进电机速度与方向的控制引脚STEP/DIR、使能端EN、芯片供电VCC\GND&#xff0c;共计11个引脚。PCB四周开设四个M3通孔&#xff0c;以便于安装固定。此外&#xff0c;将板载的焊死的保险丝更改为可更换的保险座保险丝&#xff…...

万字总结网络原理

目录 一、网络基础 1.1认识IP地址 1.2子网掩码 1.3认识MAC地址 1.4一跳一跳的网络数据传输 1.5总结IP地址和MAC地址 二、网络设备及相关技术 2.1集线器:转发所有端口 2.2交换机:MAC地址转换表+转发对应端口 2.3主机:网络分层从上到下封装 2.4主机&路由器:ARP…...

【AI视野·今日CV 计算机视觉论文速览 第262期】Fri, 6 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 6 Oct 2023 Totally 73 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Improved Baselines with Visual Instruction Tuning Authors Haotian Liu, Chunyuan Li, Yuheng Li, Yong Jae Lee大型多模…...

一文搞懂Jenkins持续集成解决的是什么问题

1、持续集成的定义 大师 Martin Fowler 是这样定义持续集成的: 持续集成是一种软件开发实战, 即团队开发成员经常集成他们的工作. 通常, 每个成员每天至少集成一次, 也就意味着每天可能发生多次集成. 持续集成并不能消除Bug, 而是让它们非常容易发现和改正. 根据对项目实战的理…...

微信小程序去除默认滚动条展示

一、微信小程序改版框架升级后&#xff0c;滚动条默认展示了。 在实际应用中效果不好&#xff0c;如果想默认隐藏掉&#xff0c;代码段如下&#xff1a; /* 去除默认滚动条效果 */ ::-webkit-scrollbar {display:none;width:0;height:0;color:transparent; } 设置成全局样式…...

3.02 创建订单操作详细-订单创建与回滚 (创建订单操作详细)

步骤1&#xff1a; 创建orders订单表,子订单表和订单状态表对应的pojo和mappperOrders和OrderItemsMapperOrderItems和OrderItemsMapperOrderStatus和OrderStatusMapper步骤2&#xff1a;创建OrderService和对应的实现类 public interface OrderService {/*** 用于创建订单相关…...

需求放缓、价格战升级、利润率持续恶化对小鹏汽车造成了严重影响

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 收入和每股收益不及预期&#xff0c;亏损创记录 财报显示&#xff0c;小鹏汽车&#xff08;XPEV&#xff09;2023年第二季度收入为50.6亿元人民币(合7亿美元)&#xff0c;略低于预期&#xff0c;而且还产生了比预期更大的亏…...

《算法通关之路》chapter19解题技巧和面试技巧

《算法通关之路》学习笔记&#xff0c;记录一下自己的刷题过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 1 看限制条件 1.1数据规模 有的题目数据规模较小&#xff0c;那么暴力法就可行&#xff1b;如果暴力法不行&#xff0c;那么再稍微加一个诸如缓存和剪枝的优化…...

什么是TF-A项目的长期支持?

安全之安全(security)博客目录导读 问题&#xff1a;Trusted Firmware-A社区每六个月发布一次代码。然而&#xff0c;对于生产中的平台&#xff0c;该策略在维护、重要软件修复的向后兼容性、获得最新的安全缓解措施和整体产品生命周期管理方面不具备可扩展性。 开源软件项目&…...

【LinuxC】时间、时区,相关命令、函数

文章目录 一、序1.1 时间和时区1.11 时间1.12 时区 1.2 查看时间时区的命令1.21 Windows1.22 Linux 二、C语言函数2.1 通用2.11 函数简介2.12 数据类型简介 2.2 windows 和 Linux特有函数2.3 C语言示例 一、序 1.1 时间和时区 1.11 时间 时间是一种用来描述物体运动变化的量…...

mac清理垃圾的软件有哪些?这三款我最推荐

没错&#xff0c;Mac电脑真的好用&#xff0c;但是清理系统垃圾可不是件容易的事。由于Mac系统的封闭性&#xff0c;系统的缓存垃圾常常隐藏得让人发现不了。不过&#xff0c;别担心&#xff01;有一些专业的Mac清理软件可以帮你解决这一系列问题&#xff0c;让清理垃圾变得轻松…...

复习Day11:链表part04: 206. 反转链表、92. 反转链表II、25. K 个一组翻转链表、148. 排序链表

我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用CLion了&#xff0c;使用leetcode自带的IDE模拟面试环境。 哈希表章节的题目思路很清晰&…...

一年一度的国庆节又结束了

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

雷达干扰和烧穿范围简介

一、干扰信号比 J/S或J-to-S是从目标发射的干扰信号接收的功率(J)与从目标的雷达反向散射接收的功率的比率。 二、烧穿范围 通过电子攻击(J)可以首先检测到目标回波信号(S)的雷达到目标的距离。 三、自保护干扰 也称为主瓣干扰(雷达回波源和干扰机并置)。 烧穿范围…...

“秋天第一只大闸蟹”背后,看见京东一体化供应链

京东似乎正在从一个大闸蟹的物流服务商、销售商&#xff0c;转变为一个大闸蟹的“供货商”。 作者|斗斗 编辑|皮爷 出品|产业家 阳澄湖连续几天的降雨&#xff0c;使得通往蟹塘的路异常难走。 长期驻扎此地的京东相关负责人蹲在蟹塘边的小路上&#xff0c;指着蟹塘说道…...

大模型Java编码能力评估

大模型如火如荼发展&#xff0c;不能只看热闹&#xff0c;也需要躬身入局。要想评估大模型的能力&#xff0c;必须有一个评估方法和评估数据集。下面就梳理下当前大模型是如何评估代码能力的 权威评估 opencompass: https://opencompass.org.cn/datalearner: https://www.dat…...

javascript选择框和选择文本的创建与增加以及设置选中项

<script type"text/javascript">//得到选中项的索引&#xff0c;文本和值函数function getselected(selectedIndex){var selectboxdocument.forms[0].elements["location"];var indexselectbox[selectedIndex];var selectedOptionselectbox.options[…...

汽车驾驶任务的隐马尔可夫模型识别方法研究

汽车驾驶任务的隐马尔可夫模型识别方法研究 一、Introduction 自动驾驶汽车经过了几十年的发展&#xff0c;是目前国内外汽车行业中的重要研究方向。自 动驾驶汽车的智能化需要车辆能够有类“人”的行为&#xff0c;在决策策略上可以满足人的心理 需求。人在驾驶过程中&#…...

东莞市手机网站建设公司/优化搜索引擎

如果要在查询的同时排序显示结果&#xff0c;可以使用如下的语句&#xff1a; Sql代码 SELECT 字段列表 FROM 表名 WHERE 条件 ORDER BY 字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...]; SELECT 字段列表 FROM 表名 WHERE 条件 ORDER BY 字段名1 [ASC|DESC][,字段名2 …...

珠海做网站的公司有哪些/seo3的空间构型

摘要项目背景 主体内容 使用冒号的情况 分论点 1.功能测试 2.界面测试 3.性能测试 总结: 解决问题的方法 测试管理 人员安排是否到位? 测试技术是否合理等? 调整后论文 2021.4.18 挑核心论点拿得准的 三个分论点需要有一定的关联 按 服务提供 服务请求 服务管理 三个层…...

免费网站建站模板/友情链接格式

/usr/bin/mysql -uroot -p******** -h******** table_name -A --default-character-setutf8 -N -e “SELECT 1 FROM dual” > /tmp/date %Y%m%d -d -1day.txt -A 取消检查 -N 不输出列头 -e sql语句...

门户网站采用较多的模式是/查询网址域名ip地址

实际上一个人有没有的房产运&#xff0c;在八字命理中是有信息显示的。有者买了就赚&#xff0c;有者买了就亏&#xff0c;有者无缘无故会获得一套或几套房子&#xff0c;有者一生与房产无缘&#xff0c;有者即使有良产万顷&#xff0c;最后也会变卖一空。那么如何从八字中断你…...

个人阿里云账号可以做网站备案/企业网站优化关键词

文章目录一、代码二、生成结果2.1 loss的变化2.2 生成的虚假图像的变化三、不足之处用 pytorch 实现一个最简单的GAN&#xff1a;用mnist数据集生成新图像一、代码 训练细节见代码注释&#xff1a; # Time : 2022/9/25 # Function: 用pytorch实现一个最简单的GAN&#xff…...

wordpress更改logo/预防电信网络诈骗

一、引用链接法 /*** 数据列表转换成树** param array $dataArr 数据列表* param integer $rootId 根节点ID* param string $pkName 主键* param string $pIdName 父节点名称* param string $childName 子节点名称** return array 转换后的树*/function L…...