0.Flask简介

Flask是python三大框架之一,
Flask流行的原因,可以分为以下几点:

  • 微框架,简洁,只做他需要做的,给开发者提供了很大的扩展性

  • Flask和相应的插件写得很好,用起来很爽

  • 开发效率非常高,比如使用SQLAlchemyORM操作数据库

  • 使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MongoEngine

  • 把默认的jinja2模板引擎替换成其他模板引擎都是非常容易的

一.安装Flask

pip install flask

(我这里使用的Flask版本是2.0.1)

二.第一个Flask程序

from flask import Flaskapp = Flask(__name__)@app.route("/")
def hello_world():return "<p>Hello, World!</p>"if __name__ == '__main__':# 运行本项目,host=0.0.0.0可以让其他电脑也能访问到该网站,#port指定访问的端口。默认的host是127.0.0.1,port为5000app.run(host='0.0.0.0',port=9000,debug=True)#开启debug模式

注:
1.需要注意的,只能在开发环境开启DEBUG模式,因为DEBUG模式会带来非常大的安全隐患
2.app.run这种方式只适合于开发,如果在生产环境中,应该使用Gunicorn或者uWSGI来启动

2.配置文件

Flask项目的配置,都是通过app.config对象来进行配置的。比如要配置一个项目的SECRET_KEY,那么可以使用app.config['SECRET_KEY']="xxx"来进行设置,在Flask项目中,有四种方式进行项目的配置:

2.1 直接硬编码:

app=Flask(__name__)
app.config['SECRET_KEY']="xxx"

2.2

因为app.configflask.config.Config的实例,而Config类是继承自dict,因此可以通过update方法

app.config.update(DEBUG=True,SECRET_KEY='...'
)

2.3

如果你的配置项特别多,你可以把所有的配置项都放在一个模块
的方式进行配置,假设有一个settings.py模块,专门用来存储配置项的,此时你可以通过app.config.from_object()方法进行加载,并且该方法既可以接受模块的字符串名称,也可以模块对象:

#1.通过模块字符串
app.config.from_object('settings')
#2.通过模块对象
import settings
app.config.from_object(settings)

2.4

也可以通过另外一个方法加载,该方法就是app.config.from_pyfile()
,该方法传入一个文件名,通常是以.py结尾的文件,但也不仅限于只使用.py后缀的文件

app.config.from_pyfile('settings.py',silent=True)
# silent=True表示如果配置文件不存在的时候不抛出异常,默认是为False,会抛出异常。

Flask项目内置了许多的配置项,所有的内置配置项,可以在官方文档查看https://flask.palletsprojects.com/en/2.0.x/config/

Flask学习之路(一)--初识flask相关推荐

  1. Flask学习笔记(四): Flask与数据库连接

    Flask学习笔记(四): Flask与数据库连接 前言 前面我们学习了Flask如何构建一个程序的流程,又研究了它的路由如何设定,还对如何获取模板表单数据进行了梳理,值得一提的就是Flask和SQL ...

  2. 前端Vue学习之路(一)-初识Vue

    Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...

  3. Flask学习笔记01:安装Flask模块与入门案例

    文章目录 一.安装flask模块 1.安装Flask模块 2.在Python里查看Flask版本 二.案例演示--HelloWorld<

  4. uc/os学习之路(一) —— 初识uc/os

    初识实时操作系统 实时操作系统是指当外界事件或数据产生时,能在规定的时间内进行处理并作出相应.实时操作系统有一下基本特征: 多任务操作系统 多级中断机制 优先调度机制 现广泛使用的实时操作系统有很多种 ...

  5. Django学习之路(一)--初识django

    1.先创建虚拟环境 为什么要创建虚拟环境呢? 你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行 ...

  6. 我的前端学习之路<初识前后端交互>

    前后端交互 前后端数据通讯 从数据库中获取或提交内容 使用到的技术栈:ajax ajax async JavaScript and xml(严格意义上的html,闭合标签) 发送ajax 是有严格步骤 ...

  7. Flask学习之旅——1.1初识Flask

    Flask学习之旅--1.1初识Flask 前言 从本文开始,正式踏上了学习Python Flask的旅程啦. 我是跟着知了传课进行学习的,本系列涉及到的内容大部分来自知了传课. Flask简介 Fl ...

  8. 后端框架flask学习小记

    1. 写在前面 最近在和几个伙伴尝试搭建一个新闻推荐系统, 算是一个推荐算法的实战项目, 里面涉及到了前后端交互, 该项目里面,使用了Flask作为后台框架, 为了理清楚整个系统的交互,所以就快速参考 ...

  9. Flask学习之旅——1.2项目配置

    Flask学习之旅--1.2项目配置 前言 本文是我在知了传课学习的学习笔记. 上一篇:Flask学习之旅--1.1初识Flask 下一篇:Flask学习之旅--1.3 URL与视图(一) 一.设置为 ...

最新文章

  1. 使用python+ffmpeg批量转换格式
  2. getset原子性 redis_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)
  3. 在LINUX中如何把2个文件中的内容合到另一个文件中
  4. git 查看自己的用户名和邮箱
  5. 微信类APP如何架构才能省流量
  6. 如何有逻辑的,简单清晰的回应问题
  7. STM32蜂鸣器驱动程序
  8. XGBoost结合SHAP应用:回归、二分类、多分类模型
  9. Basler相机参数设置
  10. java中player类用法_[Java教程]同步辅助类CountDownLatch用法
  11. 字体如何设计,这几点很重要
  12. 8086中寻址方式详解
  13. 已在此计算机上安装了此应用cad,电脑安装CAD时提示已安装导致安装失败的问题如何解决...
  14. (转)男人的梦想之野性篇 什么是真正的越野车
  15. [随笔] flex 布局使用 space-between 尾行排版效果优化
  16. 利润最大化下的模型cutoff测算
  17. HTML Rendering Error
  18. C++文件服务器项目—FastCGI—4
  19. css涟漪光圈扩散_CSS3动画之:水波涟漪般的定位样式
  20. 一起实践神经网络INT8量化系列教程(一)

热门文章

  1. 2022-2028年中国氢化丁腈橡胶行业市场深度分析及投资规模预测报告
  2. 2022-2028年中国客厅经济深度调研及投资前景预测报告
  3. mount 挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on
  4. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器
  5. SpringCloud Alibaba微服务实战(七) - 路由网关(Gateway)全局过滤
  6. 【微服务架构】SpringCloud之Feign
  7. 将request中的所有参数存放到自定义的map中
  8. 显卡不够时,如何训练大型网络
  9. Google Colab——用谷歌免费GPU跑你的深度学习代码
  10. 队列:实用程序服务和数据结构