当前位置:网站首页>Flask的简单介绍及使用方法简介
Flask的简单介绍及使用方法简介
2022-08-03 05:10:00 【중둑【上瘾】】
一、什么是flask?
Falsk是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目, 开发的难度比较大,flask好多的模块是按照django的思路开发的。和flask类似的框架还有web.py,
那么,flask和django有什么区别呢?
详细区别可参照https://blog.csdn.net/tulan_xiaoxin/article/details/79132214
Django: 大而全,有一套完整的框架,但是耦合性高。Auth,Permission,admin基本没用
开发快,符合MVC模式
Flask: 微框架,很小巧。一个脚本就可以启动一个web项目,需要哪些功能,自己装。需要熟悉MVC模式.
二、Flask部署
1、在anaconda中创建虚拟环境
conda create -n FlaskPath python=3.6.2
2、安装flask框架
安装flask模块
3、启动程序
自定义文件夹,在当前目录下创建py文件就可以直接启动

from flask import Flask
app = Flask(__name__) #在当前文件下创建应用
@app.route("/") #装饰器,url,路由
def index(): #试图函数
return "hello world"
@app.route("/say_hello/<name>") #装饰器,url,路由
def say_hello(name): #试图函数
return "hello world,I am your friend %s"%name
if __name__ == "__main__":
app.run() #运行app
运行结果如下:


在使用flask时,需要大量用到单例模式
单例模式:单实例模式,指在一个程序当做,某个类只能被实例化一次,可以方便的保持 实例对象访问的一致性
三、开始flask项目
模板和静态文件
Flask默认认为当前目录下的templates是模板文件目录,当前目录下的static是静态文件目录,flask的模板渲染采用了jinja2模块来进行渲染,jinja2模块是模仿django编写的一个模板渲染的三方模块,通常用于HTML的渲染,也会被用在动态配置文件的渲染上。
数据库模型
Sqlalchemy是python三方的ORM数据库映射模块,flask对sqlalchemy模块进行了第二次封装。在当前版本的flask我们使用sqlalchemy需要安装flask-sqlalchemy
1、导入数据库模块
from flask_sqlalchemy import SQLAlchemy
2、基于应用进行sqlalchemy的配置
- v实例化db对象
db = SQLAlchemy(app)
定义数据模型
class Student(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(32))
age = db.Column(db.Integer)
gender = db.Column(db.String(32))
classes = db.Column(db.String(32))
def __repr__(self):
return self.name
db.create_all()
实例化db对象
db = SQLAlchemy(app)
定义数据模型
class Student(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(32))
age = db.Column(db.Integer)
gender = db.Column(db.String(32))
classes = db.Column(db.String(32))
def __repr__(self):
return self.name
db.create_all()SQLALCHEMY_DATABASE_URI
用于连接数据的数据库。例
如: sqlite:tmp/test.db mysql://username:[email protected]/db
SQLALCHEMY_BINDS
一个映射绑定 (bind) 键到 SQLAlchemy 连接 URIs 的字典。 更多的信息请参阅 绑定多个数据库。
SQLALCHEMY_ECHO
如果设置成 True,SQLAlchemy 将会记录所有 发到标准输出(stderr)的语句,这对调试很有帮助。
SQLALCHEMY_RECORD_QUERIES
可以用于显式地禁用或者启用查询记录。查询记录 在调试或者测试模式下自动启用。更多信息请参阅 get_debug_queries()。
SQLALCHEMY_NATIVE_UNICODE
可以用于显式地禁用支持原生的 unicode。这是 某些数据库适配器必须的(像在 Ubuntu 某些版本上的 PostgreSQL),当使用不合适的指定无编码的数据库 默认值时。
SQLALCHEMY_POOL_SIZE
数据库连接池的大小。默认是数据库引擎的默认值 (通常是 5)。
SQLALCHEMY_POOL_TIMEOUT
指定数据库连接池的超时时间。默认是 10。
SQLALCHEMY_POOL_RECYCLE
自动回收连接的秒数。这对 MySQL 是必须的,默认 情况下 MySQL 会自动移除闲置 8 小时或者以上的连接。 需要注意地是如果使用 MySQL 的话, Flask-SQLAlchemy 会自动地设置这个值为 2 小时。
SQLALCHEMY_MAX_OVERFLOW
控制在连接池达到最大值后可以创建的连接数。当这些额外的 连接回收到连接池后将会被断开和抛弃。
SQLALCHEMY_TRACK_MODIFICATIONS
如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。







注意:
1、模块不可以互相导入
2、模块不可以同名导入,
flask.py
from flask import Flask
Flask has no attribut “Flask”
3、直接导入外层包目录会报错
边栏推荐
- typescript42-readonly修饰符
- JS bottom handwriting
- 业务表解析-余额系统
- MCM box model modeling method and source analysis of atmospheric O3
- HarmonyOS应用开发培训第二次作业
- Peptides mediated PEG DSPE of phospholipids, targeted functional materials - PEG - RGD/TAT/NGR/APRPG
- idea uses @Autowired annotation to explain the reasons and solutions
- UV decomposition of biotin - PEG2 - azide | CAS: 1192802-98-4 biotin connectors
- How to use the interface management tool YApi?Beautiful, easy to manage, super easy to use
- FileZilla 搭建ftp服务器
猜你喜欢

如何不耍流氓的做运维之-SHELL脚本

Kotlin-Flow common encapsulation class: the use of StateFlow

Two ways to simulate multi-user login in Jmeter

Shell conditional statement judgment

力扣561. 数组拆分

Build your own web page on the Raspberry Pi (2)

Detailed explanation of MOSN reverse channel

Harmony OS ets ArkUI 】 【 】 the development basic page layout and data connection

GIS数据漫谈(六)— 投影坐标系统

Talking about GIS Data (5) - Geographic Coordinate System
随机推荐
力扣561. 数组拆分
Coordinate knowledge in digital twin campus scenarios
js实现一个 bind 函数
在树莓派上搭建属于自己的网页(1)
HarmonyOS应用开发第一次培训
1095 解码PAT准考证 (25 分)(C语言)
阿里云对象存储oss私有桶生成链接
数字孪生园区场景中的坐标知识
presto安装部署教程
How to prepare for the test interface test data
13.< tag-动态规划和回文字串>lt.647. 回文子串 + lt.516.最长回文子序列
C# async and multithreading
Djiango第二次培训
Flink state
集合框架知识
tag单调栈-单调栈预备知识-lt.739. 每日温度
【Biotin Azide|cas:908007-17-0】Price_Manufacturer
《录取通知》 观后感
如何不耍流氓的做运维之-SHELL脚本
[Harmony OS] [ARK UI] ETS context basic operations