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

【Flask 系统教程 1】入门及配置

当你开始学习 Flask 时,了解如何进行基本的配置是非常重要的。Flask 是一个简单而灵活的 Python Web 框架,它允许你快速构建 Web 应用程序,并且易于学习。在这篇博客中,我将介绍如何从零开始进行 Flask 的基础配置,适合初学者阅读。

入门

安装 Flask

首先,你需要确保在你的开发环境中安装了 Flask。你可以通过使用 pip 包管理器来安装 Flask:

pip install Flask

第一个Flask应用

创建 Flask 应用

创建一个基本的 Flask 应用非常简单。只需创建一个 Python 文件,并导入 Flask 类。然后,实例化一个 Flask 对象即可:

from flask import Flaskapp = Flask(__name__)

创建路由

路由定义了应用程序中的 URL 和处理请求的函数之间的映射关系。在 Flask 中,你可以使用 @app.route 装饰器来定义路由。例如,要在根路径上定义一个简单的路由:

@app.route('/')
def index():return 'Hello, Flask!'

运行应用

在你的 Flask 应用中添加一个启动代码,以便在本地运行应用。通常,你会在文件的末尾添加以下代码:

if __name__ == '__main__':app.run(debug=True)

这将使应用在调试模式下运行,并在代码发生更改时自动重新加载

创建模板

Flask 使用 Jinja2 模板引擎来渲染动态内容。你需要在 templates 文件夹中创建 HTML 模板文件。例如,创建一个名为 index.html 的模板文件:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>My Flask App</title>
</head>
<body><h1>{{ message }}</h1>
</body>
</html>

在视图函数中渲染模板

最后,你需要在视图函数中渲染模板并传递数据。在这个示例中,我们将在根路径的视图函数中渲染 index.html 模板,并传递一个消息:

from flask import render_template@app.route('/')
def index():message = 'Hello, Flask!'return render_template('index.html', message=message)

通过以上步骤,你已经完成了一个基本的 Flask 应用程序的配置和设置。现在你可以在本地运行应用,打开浏览器访问 http://127.0.0.1:5000/,你将会看到你在模板中定义的消息。

配置

修改运行端口

from flask import Flask# 创建Flask应用
app = Flask(__name__)# 定义路由及其处理函数
@app.route('/')  # 根路由
def index():return 'Hello, world!'# 运行Flask应用并指定端口
if __name__ == '__main__':app.run(debug=True, port=5000)  # 在这里指定端口号

启动方式

上面介绍了直接运行py文件进行服务的启动,下面介绍其他的启动方法

  • 终端启动
$ export FLASK_APP=helloworld
$ flask run
* Running on http://127.0.0.1:5000/

需要注意文件路径要在 app.py所在目录下,并且文件名必须是 app.py

启动参数

参数使用示例作用
–reload / --no-reloadflask run --reload热部署
–debugger / --no-debuggerflask run --debugger调试模式 (这个才是热部署)
–with-threads / --without-threads多线程
–extra-files PATHflask run --extra-files static/;templates/;config/settings.ini增加热部署监听目录
–exclude-patterns PATHflask run --exclude-patterns “*.log” “config/*”增加热部署不监听的目录
–help获取帮助

设置配置

# 通过修改配置参数
app.config.update(DEBUG=True)
app.config['DEBUG'] = True# 通过mapping加载
app.config.from_mapping({'DEBUG':True})# 通过配置对象设置
class Config:DEBUG = True
app.config.from_object(config)# 通过配置文件设置
app.config.from_pyfile('config.py')
app.config.from_json('config.json')

通过以上方法可以在Python 文件中进行配置设置

  • 格式

config.py
DEBUG = True

config.json
{"DEBUG":"True"}

相关文章:

【Flask 系统教程 1】入门及配置

当你开始学习 Flask 时&#xff0c;了解如何进行基本的配置是非常重要的。Flask 是一个简单而灵活的 Python Web 框架&#xff0c;它允许你快速构建 Web 应用程序&#xff0c;并且易于学习。在这篇博客中&#xff0c;我将介绍如何从零开始进行 Flask 的基础配置&#xff0c;适合…...

石家庄河北银行的

有些时候河北石家庄这边的甲方客户人员就是太苛刻了&#xff0c;尤其是银行业 比如河北银行的信息部的卢斌&#xff0c;兰州人&#xff0c;这个人的人品极度恶劣&#xff0c;对乙方的外包人员特别苛刻&#xff0c;像个大爷一样。自己什么都不会&#xff0c;连sql 都不会写&…...

【CCNP ENCOR OCG】CHAPTER 2》Spanning Tree Protocol

目录 “Do I Know This Already?” Quiz Foundation Topics Spanning Tree Protocol Fundamentals 802.1D Port States Spanning Tree Path Cost Root Bridge Election Locating Root Ports Locating Blocked Designated Switch Ports Verification of VLANs on Trun…...

docker无法映射/挂载根目录

docker无法映射&#xff08;挂载&#xff09;根目录下的文件夹只能映射家目录 最近想要使用nas-tools做做刮削&#xff0c;电影存在一个机械磁盘里&#xff0c;机械磁盘被挂载到/data1下&#xff0c;发现一个很奇怪的问题&#xff0c;docker只能挂载成功home目录下的文件夹&am…...

C++中不要重新定义继承而来的non-virtual函数

在 C 中&#xff0c;重定义继承而来的 non-virtual&#xff08;非虚&#xff09;函数通常是不推荐的&#xff0c;原因如下&#xff1a; 隐藏父类的实现&#xff1a;如果在派生类中重定义了一个非虚函数&#xff0c;这将隐藏父类中具有相同名称和参数的函数。这意味着即使通过基…...

C++ 对象型参数和返回值

对象型参数和返回值 1.对象型类型作为函数的参数2.对象型参数作为函数的返回值 1.对象型类型作为函数的参数 使用对象类型作为函数的参数或者返回值&#xff0c;可能会产生一些不必要的中间对象 例子&#xff1a; // 使用对象类型作为函数的参数 void test1(Car car) {}完整代…...

LeetCode 字符串专题——KMP算法_28. 找出字符串中第一个匹配项的下标

字符串专题——KMP算法 KMP算法例题 KMP算法 待更新 例题 https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/ class Solution {vector<int> next;void getNext(string s){int j-1;next[0]-1;int lens.size();for(int i…...

上班不想用脑子写代码了怎么办?那就试试Baidu Comate啊宝贝

本文目录 前言1、视频编程实战1.1、熟悉代码库中的代码1.2、参考现有代码编写新代码 2、下载使用教程3、使用体验3.1、AutoWork 产品测评3.2、解决有关ajax请求后重定向问题3.3、询问编程相关知识3.3.1、cookie和session的区别与联系3.3.2、数据库中主键外键的相关知识 4、问题…...

【管理咨询宝藏94】某国际咨询公司供应链财务数字化转型方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏94】某国际咨询公司供应链&财务数字化转型方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 172…...

C++_使用邻接表(链表-指针)实现有向图[完整示例及解释]

这个程序是一个图的实现&#xff0c;使用邻接表来表示图的结构&#xff1a; 1. 结构定义部分&#xff1a; - AdjListNode 结构定义了邻接表中的节点&#xff0c;每个节点包含一个名称和一个指向下一个邻接节点的指针。 - Node 结构定义了图中的节点&#xff0c;每个节点…...

Gitlab自动化测试的配置

1. 代码分支命名规范检测 Setting → Repository → Push rules → Branch name&#xff0c;添加分支命名规范对应的正则表达式。如&#xff1a; ^(Release|Tag|Develop|Feature)_._.|Main$ 表示分支名只能以以下关键字之一开头&#xff1a;Release、Tag、Develop和Feature。 …...

Qwen-Audio:推动通用音频理解的统一大规模音频-语言模型(开源)

随着人工智能技术的不断进步&#xff0c;音频语言模型&#xff08;Audio-Language Models&#xff09;在人机交互领域变得越来越重要。然而&#xff0c;由于缺乏能够处理多样化音频类型和任务的预训练模型&#xff0c;该领域的进展受到了限制。为了克服这一挑战&#xff0c;研究…...

杭州破冰之举:全面取消住房限购,激发市场新活力

在房地产市场调控的浪潮中,杭州再次走在了前列,于2024年3月14日宣布全面取消二手房限购政策,此举在行业内引发了广泛关注。作为中国经济活力较强的二线城市之一,杭州的这一决策不仅体现了地方政府在房地产市场调控上的灵活应变,也释放出对市场流动性和经济发展的积极信号。…...

ICode国际青少年编程竞赛- Python-1级训练场-变量练习

ICode国际青少年编程竞赛- Python-1级训练场-变量练习 1、 a 8 for i in range(8):Dev.step(a)Dev.turnRight()a - 12、 a 3 for i in range(4):Dev.step(a)Dev.turnRight()a a 1 Dev.step(5)3、 a 4 for i in range(4):Dev.step(2)Dev.step(-5)Dev.step(3)Spaceship.…...

学习STM32第二十天

低功耗编程 一、修改主频 STM32F4xx系列主频为168MHz&#xff0c;当板载8MHz晶振时&#xff0c;系统时钟HCLK满足公式 H C L K H S E P L L N P L L M P L L P HCLK \frac{HSE \times PLLN}{PLLM \times PLLP} HCLKPLLMPLLPHSEPLLN​&#xff0c;在文件stm32f4xx.h中可修…...

智能BI(后端)-- 系统异步化

文章目录 系统问题分析什么是异步化&#xff1f;业务流程分析标准异步化的业务流程系统业务流程 线程池为什么需要线程池&#xff1f;线程池两种实现方式线程池的参数线程池的开发 项目异步化改造 系统问题分析 问题场景&#xff1a;调用的服务能力有限&#xff0c;或者接口的…...

AI绘画Stable Diffusion 插件篇:智能标签提示词插件sd-danbooru-tags-upsampler

大家好&#xff0c;我是向阳。 关于智能标签提示词插件&#xff0c;在很早之前就介绍过很多款了&#xff0c;今天再给大家介绍一款智能标签提示词插件sd-danbooru-tags-upsampler。该智能提示词插件是今年2月23号才发布的第一版V0.1.0&#xff0c;算是比较新的智能提示词插件。…...

Android OpenMAX(六)OMXStore

在前面两节的学习中我们知道了OMX Core是用来管理(查询/创建/销毁)Android平台上的硬件编解码组件的。这一节我们再向上一层,Android平台除了提供有硬件编解码组件支持,还内置了一些软件编解码组件,为了统一管理所有(软/硬)编解码组件,Android在OMX Core之上又抽象了一…...

Ubuntu下halcon软件的下载安装

由于工作需求&#xff0c;点云配准需要使用halcon进行实现&#xff0c;并且将该功能放入QT界面中 1.下载halcon 进入halcon官网进行下载 官网链接&#xff1a;https://www.mvtec.com/products/halcon/ 注意&#xff1a;要注册登陆之后才能进行下载 接着点击Downloads->H…...

『ZJUBCA Collaboration』WTF Academy 赞助支持

非常荣幸宣布&#xff0c;浙江大学区块链协会收到WTF Academy的赞助与支持&#xff0c;未来将共同开展更多深度合作。 WTF Academy是开发者的Web3开源大学&#xff0c;旨在通过开源教育让100,000名开发者进入到Web3。截止目前&#xff0c;WTF开源教程在GitHub收获超15,000 ⭐&a…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...