01初识flask

DDR为什么需要DQS信号? 本文根据相关书籍和个人经验,谈了一下对DDR中DQS信号作用的理解 阅读详情

如何学习框架

结合需求,问题去探究并理解问题的内在本质,及解决问题的思想和思路。

Flask

简介

最新版本1.1.0
诞生于2012年,Armin ronacher创始人
核心:(WSGI工具箱)Werkzueg、(模板引擎)Jinja2

与Django的区别

flask不直接具备:
django-admin、manage.py管理项目工程、orm模型、admin操作站点、认证系统、缓存机制、文件储存
需要拓展包去实现:
Flask-SQLalchemy 		# 操作数据库
Flask-script			# 插入脚本
Flask-migrate			# 管理迁移数据库
Flask-Session			# Session储存方式指定
Flask-WTF				# 表单
Flask-Mail				# 邮件
Flask-Bable				# 国际化和本地化支持 翻译
Flask-Login				# 认证用户状态
Flask-OpenID			# 认证
Flask-RESTful			# 开发REST API的工具
Flask-Bootstrap			# 集成前端Twitter Bootstrap框架
Flask-Moment			# 本地化日期和时间
Flask-Admin				# 简单和可扩展的管理接口的框架

官方文档

中文:http://docs.jinkan.org/docs/flask/
英文:http://flask.pocoo.org/docs/1.0/

两者的特点

Django:快速实现业务功能, 工具组件丰富, 但有框架约束
flask:只提供Web核心功能, 便于调整业务结构技术选型, 自由度高

工程搭建

环境配置

# 创建虚拟环境
mkvirtualenv flask-env -p python3
# 安装flask包
pip install flask

简单项目编写

from flask import Flask

app = Flask(__name__)					# __name__ --> def __init__

'''工程配置加载'''
# app.config.from_object()
# app.config.from_pyfile()
# app.config.from_envvar('', slient= )

# 视图
@app.route('/')
def index():
	return 'hello world'
	
if __name__ == '__main__':
	app.run()

# 启动    
python 文件名.py

常用参数说明

Flask(__name__)				# BASE_DIR-->flask项目的所在, 查询静态文件的起始位置

def __init__(
        self,
        import_name,
        static_url_path=None,				# 静态访问路径, 默认 / + static_folder
        static_folder="static",				# 静态文件夹
        static_host=None,
        host_matching=False,
        subdomain_matching=False,
        template_folder="templates",		# 模板文件夹
        instance_path=None,						
        instance_relative_config=False,
        root_path=None,
    ):

工程配置加载

配置信息保存在 app.config 属性中, 可以当做字典类型操作。
app.config.get( )
app.config[ ]

# 方式一(从对象中加载):
class DefaultConfig(object):
	SECRET_KEY = 'ST UDJYU E56Y5E'
	
app.config.from_object(DefaultConfig)

优点:继承复用
缺点:暴露敏感代码

# 方式二(从py文件导入):
app.config.from_pyfile('settings.py')

优点:独立存放, 保护敏感数据
缺点:无继承, 路径写死不灵活

# 方式三(配置环境变量):
cmd --> export SETTINGS='~/settings.py'	# 设置一组 KEY:VALUE 保存在系统内
app = Flask(__name__)
app.config.from_envvar('SETTINGS', silent='错误忽略')	# 默认False, True就不报错

优点:保护数据, 路径灵活
缺点:不方便, 需要设置path

项目常用方式

# 将flask生成对象的方法, 改造为一个工厂函数
class DefaultConfig(object):					# 配置类型
	SECRET_KEY = 'ST UDJYU E56Y5E'
    DEBUG = True								# 开启调试模式

def create_flask_app(config):					# 工厂函数
	app = Flask(__name__)
	app.config.from_object(config)
	app.config.from_envvar('PROJECT_SETTING')
	return app									# 要将app传出
	
app = create_flask_app(DefaultConfig)			# 调用, 生成flask实例

启动参数

if __name__ == '__main__':
	app.run(host=" ", port= , debug= )	# 可以自定义 IP 端口 调试模式

'''1.0版后, 启动main不用书写, 可以添加环境变量, 通过 flask run 在终端启动'''
export FLASK_APP = 项目加载文件名		# FLASK_APP不能变更
flask run
flask run -h IP -p 端口			# 可以自定义地址和端口

# 环境控制
export FLASK_ENV = production		# 生产模式, 默认值
export FLASK_ENV = development		# 开发模式

Pycharm中快速设置启动

# 添加局部环境变量
# 运行按钮左侧-->对应文件——>edit——>Environment variables——>添加键值对
PROJECT_SETTING  ...py
FLASK_APP        ...py

# 添加执行命令, 二选一

(低版本)
Script path		[空白]
Parameters --> -m flask run

(高版本)
Module name(下拉菜单) --> flask
Parameters --> run

其他扩展知识

# format = % 占位输出

"{}{}".format(1,2)
>>12

一般项目代码示例

from flask import Flask

class DefaultConfig(object):
	DEBUG = True
	SECRET_KEY = 'ST UDJYU E56Y5E'

def create_flask_app(config):				
	app = Flask(__name__)
	app.config.from_object(config)
	app.config.from_envvar('PROJECT_SETTING')
	return app	

app = create_flask_app(DefaultConfig)

@app.route("/", methods=["POST"])
def index():
	return "hello world"

if __name__ == "__main__":
	app.run()

路由

路由

# 查看所有路由
flask routes
app.url_map

# 遍历app.url_map的值, 并用format输出内容格式
for rule in app.url_map.iter_rules():
	print('name={} path={}'.format(rule.endpoint, rule.rule))
# 还可以定义视图完成路由查询业务, 对app.url_map进行操作
@app.route('/'):
def route_map():
	rules_iterator = app.url_map.iter_rules()
	return json.dumps({rule.endpoint: rule.rule for rule in rules_iterator})

指定请求方式

# 默认请求方式有:
GET
OPTIONS ---> "简化版GET,用于询问服务器接口信息","cors跨域请求时, 中间件会验证OPTIONS"
HEAD ---> "简化版GET,只返回响应头,不返回响应体"

# 通过methods参数可以对请求方式进行限制
@app.route("/itcast1", methods=["POST"])
@app.route("/itcast2", methods=["GET", "POST"])
运用AD进行stm32最小系统PCB图的绘制 运用AD进行stm32最小系统PCB图的绘制一、PCB图的绘制(1)布局(2)布线(3)覆铜(4)电气规则检查二、给PCB添加logo三、生成garber文件总结 一、PCB图的绘制 (1)布局 1.画好原理图后,新建一个PCB项目 2.在Design中选择第二项,导入器件 3.先点击右下角第一项,再点第二项导入器件 导入成功 4.导入后效果 选择紫红色方框,按电脑上的delete键把它删掉 5.在Tools选择Outside Board,自动排布器件 排布后效果如图 6.画线,确定板子范围 阅读详情

相关推荐

干扰管理学习日志4-------信道估计方法 LS(最小二乘)、MMSE(最小均方误差)

信道估计,就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。本文主要讲述非盲信道估计中的LS估计和MMSE估计。LS全称为,即估计的信道参数与实际信道参数的差,进行平方求和后得到的误差累积最小。MMSE估计是LS估计的改进,在LS估计的最终结果的基础上乘以加权矩阵,使之与实际信道参数更为接近。

taiyuezyh的博客 1万+

106、Flask路由和蓝图

一、路由 @app.route("/itcast") def view_func(): return "hello world" 1 查询路由信息 命令行方式 flask routes Endpoint Methods Rule -------- ------- ----------------------- index GET / static ...

limengshi138392的博客 528

国民技术N32G45X低功耗问题之更改全局变量和栈在RAM中的地址

最近项目中用的MCU是国民技术的N32G45X,MCU的资源很丰富,RAM也很大,配套的库和例程也比较全,用起来还是不错的,但是在调试低功耗的时候还是费了不少劲。 首先由于项目低功耗需要,只能选择停机模式2(STOP2)。根据数据手册的描述,在此模式下外部低速时钟开启, RTC运行, R-SRAM保持,所有I/O状态保持,独立看门狗处于关闭状态,25℃的条件下电流为10个微安。 用的这款MCU的RAM是144KB,分为SRAM(128KB)和R-SRAM( Retention SRAM – 16KB),如果

狂想家 2486

python Flask 01 初识Flask

python三大WEB框架比较 Django web: 优点:大而全,ORM models ,model Form ,admin ,csrf ,session 缺点:资源浪费 Flask web: 优点:小而精,ORM:x , Form:x , admin:x,csrf:x,session:√,第三方组件 : 全 缺陷:稳定性较差 Tornado: 优点:异步IO非阻塞 原生webs...

一越王超的博客 902

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2230

使用 Cynthion 与 Packetry 进行 USB 抓包与协议分析

Cynthion 是 Great Scott Gadgets 推出的USB 流量分析与注入设备。它具备以下特点:通过 FPGA 实现高速 USB 流量捕获;能够同时作为 USB Host 和 Device,进行调试和测试;支持输出 pcap 文件,可直接用 Wireshark 分析;提供 Python API,方便与上层软件联动。简单来说,Cynthion 是一个USB 协议分析仪 + 注入工具。硬件层捕获:实时拦截 USB 总线上的数据包;软件层解析。

YIMUleizi的博客 1264

01_初识Flask

01-初识flask 1 什么是flask? Flask 本是作者 Armin Ronacher在2010年4月1日的一个愚人节玩笑 ,不过后来大受欢迎,进而成为一个正式的python编写的web框架 Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务,在介绍Flask之前首先来聊下它和Django的联系以及区别,django个大而全的w...

小猿取经 832

基于远程服务器 Tip_Adapter源码从零开始复现

从零一步步实现源代码的运行

zcyzcyjava的博客 1604

Flask web开发01:初识 Flask

一、 搭建开发环境 1. Pinenv相关命令 Pipenv 是基于 pip 的 Python 包管理工具,它是 pip、Pipfile 和 Virtualenv 的结合体,它让包安装、包依赖管理和虚拟环境管理更加方便,关于使用 Pipenv的一些命令: pip install pipenv # 安装 Pipenv pipenv install # 创建虚拟环境 pipenv shel...

anbangsi3839的博客 190

Transformers 实战修炼与源码剖析专栏大纲

本专栏以 Hugging Face Transformers 为主线,围绕“能用、会调、敢上线、懂源码”四个目标展开。内容不把理论堆成公式墙,而是用真实或拟真的业务场景驱动:客服分类、合同抽取、知识库问答、模型微调、推理服务、监控告警、源码扩展等。采用“业务痛点 → 三人剧本对话 → 代码实战 → 总结思考”的四段式结构,让读者在动手完成一个个小项目的过程中,逐步理解 Tokenizer、Model、Pipeline、Trainer、Generation、PEFT、Accelerate、Serving等概念

davidwang456的专栏 927

Qt6.10 | Qt Bluetooth 蓝牙

本文介绍了QtBluetooth模块的功能和使用方法,包括蓝牙API概述、构建配置(CMake/qmake)、权限管理、平台支持(Linux/macOS特殊处理)、日志设置及许可信息。重点说明Linux平台的后端选择机制,以及macOS上的依赖限制。最后提及蓝牙聊天示例,展示RFCOMM协议通信的实现。全文提供了蓝牙开发的技术要点和注意事项。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 403

Flask-1-01-初识Flask

初识Flask Flask作为web框架,它的作用就是为了开发Web应用程序 工作流程: 所有Flask程序都必须创建一个程序实例 当客户端想要浏览网页的时候,一般会通过浏览器发起HTTP请求 Web服务器使用WSGI协议,把来自客户端的请求交给Flask实例 Flask使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系),根据每个URL请求,找到具体...

weixin_30872789的博客 156

解锁激光加工密码:功率、频率、脉宽、占空比全解析

激光加工利用高能量激光束实现材料加工,具有无接触、高效率等特点。其核心参数包括功率(决定能量输出)、频率(控制脉冲重复)、脉宽(调节能量作用时间)和占空比(调控工作周期),这些参数相互协同影响加工效果。针对不同材料需采用差异化参数组合:金属材料需较高功率,塑料需低功率防过热,陶瓷需高频短脉宽减少热应力。实际操作中应通过小范围测试逐步优化参数,并注意解决烧损、切割不平整等常见问题。合理调节这些参数可实现高质量、高效率的激光加工。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 618

Flask狼书笔记 | 01_初识Flask,02_Flask与HTTP

以前对网站开发萌生了想法,又有些急于求成,在B站照着视频敲了一个基于flask的博客系统。但对于程序的代码难免有些囫囵吞枣,存在许多模糊或不太理解的地方,只会照葫芦画瓢。而当自己想开发一个什么网站的时,就如同摸着石头过河,常在许多小问题上卡住,不知怎么实现,也不知道需要去学习什么才能实现。例如,要做一个聊天室程序,我却不知道在一方发出消息时,如何在另一方实时地显示出来,思虑许久而终归于放弃。学习系统且详细的知识有其好处,它可以冲退我那种徒手在黑暗中摸索的感觉。

成长之路 2331

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

初识Flask(day01)

一 初步的认识一下Flask框架 1.1 了解Flask框架。 1 Flask框架是诞生于2010年,使用python语言基础werkzeug工具箱编写的轻量级Web开发框架。 2 Flask本身相当于一个内核,其他几乎所有的功能都需要用到扩展比如 “邮件:FLask-Mail,用户认证:Flask-Login,数据库:Flask-SQLAlchemy,等。” 3 Flask的核心在于Werkzeug(路由模块),Jinja2模块引擎。 1.2...

ljt2971的博客 643

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Flask01 初识flask、创建flask应用、flask启动配置

1 什么是flask   Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。   百度百科:点击前往   中文文档:点击前往   2 利用pip安装flask模块   2.1 前提     安装好python、配置好环境变量   2.2 查看python版

词语大杂烩 514

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

01_初识flask_运行第一个程序

文章目录1 什么是flask?2 为什么要有flask?3 学前准备:虚拟环境3.1 虚拟环境是什么?3.2 如何使用虚拟环境?3.2.1 搭建虚拟环境3.2.1 在虚拟环境中安装我们的Flask模块4 开始我们的第一个Flask程序4.1 创建一个Flask程序4.2 解读Flask程序**4.2.1 项目目录详解**:**4.2.2 代码拆分为三部分**4.2.2.1 Werkzeug简介4.2.3 运行项目4.2.4 详解DEBUG模式**4.3.4.1 DEBUG模式解决了两个问题。****4.2.

coderge's 优快云 Blog. 788

初识Flask

文章目录初识Flask一、 什么是flask?二、 为什么要有flask?三、 学前准备:虚拟环境3.1 虚拟环境是什么?3.2 如何使用虚拟环境?3.2.1 搭建虚拟环境3.2.1 在虚拟环境中安装我们的Flask模块四、开始我们的第一个Flask程序4.1 创建一个Flask程序4.2 解读Flask程序**4.2.1 项目目录详解**:**4.2.2 代码拆分为三部分** :4.2.2.1 ...

Allen 700

Python Flask 编程 | 连载 01 - Flask Quickstart

Flask 是一个使用 Python 实现的 Web 开发微框架,具有丰富的扩展,可以非常方便的继承 Jinja2、SQLAlchemy、WTF 等扩展。

pythonhy的博客 1950

Flask_01

Flask_01 一、简介 Flask是一个Python语言编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务 。 Flask是一个轻量级的框架,而Django是一个重量级的框架 Flask的轻量级表现在它的核心实现简单,不会附带很多库和功能,但同时可以让开发人员自由地去扩展这些功能 而Django的重量级表现在本身附带了很多功能实现,比如Django中有自己的DTL...

qq_37839978的博客 379

py01-python之flask笔记

flask笔记

重九 1232

Flask框架的学习---01

绑定IP地址和端口:Flask run -h 127.0.0.1 -p 8080;开发模式:set FLASK_ENV=development。生产环境:set FLASK_ENV=production。

JEREMY的博客 3119

基于Pycharm的Python-flask 的学习分享 01

本文介绍了轻量级Web开发框架Flask,其以自由灵活、对新手友好著称。文中详解环境搭建:含Python解释器与PyCharm安装,虚拟环境配置(通过virtualenv及virtualenvwrapper-win,设置WORKON_HOME环境变量实现多项目隔离),并介绍用requirements.txt管理依赖的方法。最后通过“Hello, World!”示例,展示了Flask项目的创建与运行,帮助初学者快速掌握Flask基础,为Web开发入门奠定基础

2402_86633703的博客 1369
下一篇: SqlAlchemy的使用
矗禾
码龄7年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值