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

Flask开发之环境搭建

目录

1、安装flask

2、创建Flask工程

​编辑

3、初始化效果

4、运行效果

5、设置Debug模式

6、设置Host

 7、设置Port

8、在app.config中添加配置


1、安装flask

        如果电脑上从没有安装过flask,则在命令行界面输入以下命令:

 pip install flask

        如果电脑上曾经安装过flask,则先检查flask的版本,如果版本低于2.0.1,则进行升级。

 #查看flask版本pip show flask#升级flaskpip install --upgrade flask

2、创建Flask工程

3、初始化效果

        新创建的Flask项目含有templates和static两个文件夹,以及一个app.py文件。如果使用的是社区版的Pycharm则不会产生这三个文件,需要自行创建。

app.py文件:该文件是项目的入口文件,会默认生成一个主路由,并且视图函数名叫hello_world。

 #app.py文件初始化代码from flask import Flask​app = Flask(__name__)​​@app.route('/')def hello_world():return 'Hello World!'​​if __name__ == '__main__':app.run()

templates文件夹:用于存放模板文件。

static文件夹:用于存放静态文件。

4、运行效果

        运行代码,在浏览器中输入http://127.0.0.1:5000即可看到浏览器网页显示“Hello World!”字样。至此,一个最简单的flask项目就创建完成了

5、设置Debug模式

        设置Debug模式后,如果我们对代码进行修改,保存后Flask将会自动重启项目。如果程序出现错误,在开启Debug模式下,在浏览器端会显示错误信息,并且标记错误行号,有利于定位bug。点击右上角的demo1右侧下拉按钮,然后在弹出的下拉了列表中选择Edit Configurations命令。

        在本项目的编辑界面中选中FLASK_DEBUG复选框,然后点击OK即可。

        运行代码,可以看到PyCharm控制台显示已经开启Debug模式。

        如果是社区版的PyCharm则需要在app.run方法调用时,添加debug=True参数。

 from flask import Flask​app = Flask(__name__)​​@app.route('/')def hello_world():return 'Hello world!'​if __name__ == '__main__':app.run(debug=True)

6、设置Host

        在Edit Configurations界面,在Additional options中添加“--host=新的主机地址”即可。

Host地址访问方式
本机的局域网IP地址自己的计算机和局域网中的其他计算机都需要通过本机的IP地址才能访问到
127.0.0.1代表本机的IP地址,只能本机访问,局域网中的其他计算机无法访问
0.0.0.0本机既可以通过127.0.0.1访问,也可以通过本机的IP地址访问。局域网中的其他计算机需要通过本机的IP地址访问

        运行项目可以通过哪些IP地址访问到本项目。

 7、设置Port

        在Edit Configurations界面,在Additional options中添加“--port=新的端口号”即可。当两个项目同时运行时,都是用默认端口号,则一次只能运行一个项目。而设置端口号,是两者各占一个端口,则可以同时运行两个项目。

         如果是社区版的PyCharm则需要在app.run方法调用时,手动设置host和port参数。

 from flask import Flask​app = Flask(__name__)​​@app.route('/')def hello_world():return 'Hello world!'​if __name__ == '__main__':app.run(debug=True,host="0.0.0.0",port=8000)

8、在app.config中添加配置

        app.config是Config的对象,Config是一个继承自字典的子类,可以像操作字典一样操作它。在使用app.config是需要注意,所有配置项的名称都必须大写,否则不会被app.config读取到。参数较少的情况下,我们可以直接在文件中进行配置。

 from flask import Flask​app = Flask(__name__)app.config["SECRET_KEY"] = "1563456"# 不会被读取到app.config["secret_key"] = "4894894"print(app.config["SECRET_KEY"])​@app.route('/')def hello_world():return 'Hello world!'​​if __name__ == '__main__':app.run(debug=True,host="0.0.0.0",port=8000)

         如果需要配置的参数较多,可以直接创建一个config.py文件来存储配置信息。如果配置项名称出现小写,则会报错。

 #app.py文件from flask import Flaskimport config​app = Flask(__name__)app.config.from_object(config)print(app.config["TOKEN_KEY"])​@app.route('/')def hello_world():return 'Hello world!'​​if __name__ == '__main__':app.run(debug=True,host="0.0.0.0",port=8000)​#config.py文件TOKEN_KEY = "123456"

相关文章:

Flask开发之环境搭建

目录 1、安装flask 2、创建Flask工程 ​编辑 3、初始化效果 4、运行效果 5、设置Debug模式 6、设置Host 7、设置Port 8、在app.config中添加配置 1、安装flask 如果电脑上从没有安装过flask,则在命令行界面输入以下命令: pip install flask 如果电…...

Java集合框架与ArrayList、LinkedList的区别

文章目录 Java集合框架与ArrayList、LinkedList的区别集合框架ArrayList特点操作 LinkedList特点操作 区别代码实践注意事项 Java集合框架与ArrayList、LinkedList的区别 在Java中,集合框架是非常重要的一部分。集合框架提供了各种数据结构和算法,可以方…...

python-pandas库

目录 目录 目录 1.pandas库简介(https://www.gairuo.com/p/pandas-overview) 2.pandas库read_csv方法(https://zhuanlan.zhihu.com/p/340441922?utm_mediumsocial&utm_oi27819925045248) 1.pandas库简介(http…...

C++学习day--01 C生万物

1、C/C学习中遇到的问题: 1. 大部分初学者,学习 C/C 都是从入门到放弃。 C/C太难吗? 2. 90% 以上的初学者,学完 C/C 以后,考试完了,书看完了, 但还是不会做项目 是学的不够好吗&#xff1…...

链表及链表的常见操作和用js封装一个链表

最近在学数据结构和算法,正好将学习的东西记录下来,我是跟着一个b站博主学习的,是使用js来进行讲解的,待会也会在文章后面附上视频链接地址,大家想学习的可以去看看 本文主要讲解单向链表,双向链表后续也会…...

源码安装工具checkinstall使用

每当从源码包编译程序时,安装过程很愉快,但当你想删除时,就很费脑筋了,你可能要去找你当时编译的目录执行make unistall,当然更可能的是,你早就把源码包给删除了,对于强迫症来说,这显…...

离散数学集合论

集合论 主要内容 集合基本概念 属于、包含幂集、空集文氏图等 集合的基本运算 并、交、补、差等 集合恒等式 集合运算的算律,恒等式的证明方法 集合的基本概念 集合的定义 集合没有明确的数学定义 理解:由离散个体构成的整体称为集合&#xff0c…...

TypeScript 基础

类型注解 类型注解:约束变量的类型 示例代码: let age:number 18 说明:代码中的 :number 就是类型注解 解释:约定了类型,就只能给变量赋值该类型的值,否则,就会报错 错误演示:…...

MySQL InnoDB引擎 和 Oracle SGA

MySQL InnoDB引擎和Oracle SGA有以下异同: 异同点: 两者都是用来管理数据存储和访问的。 它们都可以通过调整参数来优化性能。 它们都支持事务处理和ACID属性。 它们都可以通过备份和恢复来保护数据。 异点: MySQL InnoDB引擎是一种存储…...

JAVA开发与运维(web生产环境部署)

web生产环境部署,往往是分布式,和开发环境或者测试环境我们一般使用单机不同。 一、部署内容 1、后端服务 2、后台管理系统vue 3、小程序 二、所需要服务器 5台前端服务器 8台后端服务 三、所需要的第三方组件 redismysqlclbOSSCDNWAFRocketMQ…...

普通人,自学编程,5个必备步骤

天给大家分享个干货哈 普通人自学编程 想学成找到一份工作甚至进大厂 非常有效且必备的5个步骤 文章最后 还给大家提供了一些免费的学习资料 记得提前收藏起来 相信很多人在最开始学编程的时候 上来就是去网上找一套视频 或者买一本书直接开干 这种简单粗暴的方法其实是不对的 …...

kubernetes安全框架RBAC

目录 一、Kubernetes 安全概述 二、鉴权、授权和准入控制 2.1 鉴权(Authentication) 2.2 授权(Authorization) 2.3 准入控制 三、基于角色的权限访问控制: RBAC 四、案例:为指定用户授权访问不同命名空间权限 一、Kubernetes 安全概述 K8S安全控…...

【大数据面试题大全】大数据真实面试题(持续更新)

【大数据面试题大全】大数据真实面试题(持续更新) 1)Java1.1.Java 中的集合1.2.Java 中的多线程如何实现1.3.Java 中的 JavaBean 怎么进行去重1.4.Java 中 和 equals 有什么区别1.5.Java 中的任务定时调度器 2)SQL2.1.SQL 中的聚…...

Linux [常见指令 (1)]

Linux常见指令 ⑴ 1. 操作系统1.1什么事操作系统1.2选择指令的原因 2.使用工具3.Linux的指令操作3.1mkdir指令描述:用法:例子 mkdir 目录名例子 mkdir -p 目录1/ 目录2/ 目录3 3.2 touch指令描述:用法:例子 touch 文件 3.2pwd指令描述:用法:例子 pwd 3.4cd指令描述:用法:例子 c…...

进程控制下篇

进程控制下篇 1.进程创建 1.1认识fork / vfork 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程 #include<unistd.h> int main() {pid_t i fork;return 0; }当前进程调用fork&#xff0c;…...

PS学习笔记(零基础PS学习教程)

很多新手学习PS不知从何下手&#xff0c;做设计的第一阶段肯定是打牢基础&#xff0c;把工具用熟练&#xff1b;本期特别为大家整理了PS入门的学习笔记&#xff0c;把每个工具的用法整理了下来&#xff0c;在使用过程中有哪里不清楚的可以翻看来看看~ 一、ps的工作界面的介绍 …...

如何构建数据血缘系统

1、明确需求&#xff0c;确定边界 在进行血缘系统构建之前&#xff0c;需要进行需求调研&#xff0c;明确血缘系统的主要功能&#xff0c;从而确定血缘系统的最细节点粒度&#xff0c;实体边界范围。 例如节点粒度是否需要精确到字段级&#xff0c;或是表级。一般来说&#x…...

IPsec中IKE与ISAKMP过程分析(主模式-消息3)

IPsec中IKE与ISAKMP过程分析&#xff08;主模式-消息1&#xff09;_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析&#xff08;主模式-消息2&#xff09;_搞搞搞高傲的博客-CSDN博客 阶段目标过程消息IKE第一阶段建立一个ISAKMP SA实现通信双发的身份鉴别和密钥交换&…...

深度学习技巧应用10-PyTorch框架中早停法类的构建与运用

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用10-PyTorch框架中早停法类的构建与运用,文章将介绍深度学习训练过程中的一个重要技巧—早停法,以及如何在PyTorch框架中实现早停法。文章将从早停法原理和实践出发,结合实际案例剖析早停法的优缺点及在PyTorch中的应…...

Linux文件系统权限

目录标题 文件权限文件和目录的一般权限文件的权限针对三类对象进行定义文件和目录中&#xff0c;r、w、x的作用 设置文件和目录的一般权限修改文件或目录的权限—chmod(change mode)命令权限值的表示方法—使用3位八进制数表示权限值的表示方法—使用字符串表示修改文件或目录…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

GB/T 43887-2024 核级柔性石墨板材检测

核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标&#xff1a; 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...