Flask学习之路(一)--初识flask
0.Flask简介
Flask是python三大框架之一,
Flask流行的原因,可以分为以下几点:
微框架,简洁,只做他需要做的,给开发者提供了很大的扩展性
Flask和相应的插件写得很好,用起来很爽
开发效率非常高,比如使用
SQLAlchemy
的ORM
操作数据库使用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.config
是flask.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相关推荐
- Flask学习笔记(四): Flask与数据库连接
Flask学习笔记(四): Flask与数据库连接 前言 前面我们学习了Flask如何构建一个程序的流程,又研究了它的路由如何设定,还对如何获取模板表单数据进行了梳理,值得一提的就是Flask和SQL ...
- 前端Vue学习之路(一)-初识Vue
Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...
- Flask学习笔记01:安装Flask模块与入门案例
文章目录 一.安装flask模块 1.安装Flask模块 2.在Python里查看Flask版本 二.案例演示--HelloWorld<
- uc/os学习之路(一) —— 初识uc/os
初识实时操作系统 实时操作系统是指当外界事件或数据产生时,能在规定的时间内进行处理并作出相应.实时操作系统有一下基本特征: 多任务操作系统 多级中断机制 优先调度机制 现广泛使用的实时操作系统有很多种 ...
- Django学习之路(一)--初识django
1.先创建虚拟环境 为什么要创建虚拟环境呢? 你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行 ...
- 我的前端学习之路<初识前后端交互>
前后端交互 前后端数据通讯 从数据库中获取或提交内容 使用到的技术栈:ajax ajax async JavaScript and xml(严格意义上的html,闭合标签) 发送ajax 是有严格步骤 ...
- Flask学习之旅——1.1初识Flask
Flask学习之旅--1.1初识Flask 前言 从本文开始,正式踏上了学习Python Flask的旅程啦. 我是跟着知了传课进行学习的,本系列涉及到的内容大部分来自知了传课. Flask简介 Fl ...
- 后端框架flask学习小记
1. 写在前面 最近在和几个伙伴尝试搭建一个新闻推荐系统, 算是一个推荐算法的实战项目, 里面涉及到了前后端交互, 该项目里面,使用了Flask作为后台框架, 为了理清楚整个系统的交互,所以就快速参考 ...
- Flask学习之旅——1.2项目配置
Flask学习之旅--1.2项目配置 前言 本文是我在知了传课学习的学习笔记. 上一篇:Flask学习之旅--1.1初识Flask 下一篇:Flask学习之旅--1.3 URL与视图(一) 一.设置为 ...
最新文章
- 使用python+ffmpeg批量转换格式
- getset原子性 redis_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)
- 在LINUX中如何把2个文件中的内容合到另一个文件中
- git 查看自己的用户名和邮箱
- 微信类APP如何架构才能省流量
- 如何有逻辑的,简单清晰的回应问题
- STM32蜂鸣器驱动程序
- XGBoost结合SHAP应用:回归、二分类、多分类模型
- Basler相机参数设置
- java中player类用法_[Java教程]同步辅助类CountDownLatch用法
- 字体如何设计,这几点很重要
- 8086中寻址方式详解
- 已在此计算机上安装了此应用cad,电脑安装CAD时提示已安装导致安装失败的问题如何解决...
- (转)男人的梦想之野性篇 什么是真正的越野车
- [随笔] flex 布局使用 space-between 尾行排版效果优化
- 利润最大化下的模型cutoff测算
- HTML Rendering Error
- C++文件服务器项目—FastCGI—4
- css涟漪光圈扩散_CSS3动画之:水波涟漪般的定位样式
- 一起实践神经网络INT8量化系列教程(一)
热门文章
- 2022-2028年中国氢化丁腈橡胶行业市场深度分析及投资规模预测报告
- 2022-2028年中国客厅经济深度调研及投资前景预测报告
- mount 挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on
- FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器
- SpringCloud Alibaba微服务实战(七) - 路由网关(Gateway)全局过滤
- 【微服务架构】SpringCloud之Feign
- 将request中的所有参数存放到自定义的map中
- 显卡不够时,如何训练大型网络
- Google Colab——用谷歌免费GPU跑你的深度学习代码
- 队列:实用程序服务和数据结构