当前位置:网站首页>Flask框架的搭建及入门
Flask框架的搭建及入门
2022-08-02 14:01:00 【czy1206527605】
预备(虚拟环境的搭建)
cd venv/Scripts
.\activate 进入虚拟环境
cd ../../
deactivate.bat 退出虚拟环境
pip install -r req_new.txt 指定文件下载
一.Flask搭建
所需下载的内部插件
快捷下载(将以下包放入txt文件中,加入到flask根目录下
运行 pip install -r ***.txt)
Flask==1.1.4
Flask-Caching==1.10.1
Flask-Cors==3.0.10
Flask-Migrate==2.7.0
Flask-RESTful==0.3.9
Flask-Script==2.0.6
Flask-SQLAlchemy==2.5.1
MarkupSafe==2.0.1
PyJWT==2.3.0
PyMySQL==1.0.2
qiniu==7.6.0
redis==4.2.2
二.Flask入门
Ss2.flask的必要元素
<1>.flask基本框架
#1
(导包)
from flask import Flask
#2
(实例化Flask对象)
app = Flask(__name__)
(定义函数及其路由)
@app.route("/hello")
def hello():
return "hello world"
#3
(运行)
if __name__ == '__main__'
app.run()
<2> 从对象中加载配置文件
- 在目录settings中创建配置文件 config.py
class DefaultConfig:
# 属性名字 必须全部大写
NAME = "zhangsan"
DEBUG = True
- 根目录下创建app.py文件
from flask import Flask
from settings.config import DefaultConfig
app = Flask(__name__)
app.config.from_object(DefaultConfig) # 从对象中加载配置
print(app.config)
if __name__ == '__main__':
app.run()
注意!!!
此时运行代码会config到以下信息
DEBUG方法为开发者模式,设置成True可使运行自动刷新
<3> 从文件中加载配置文件
- 根目录下创建setting.py
随意写入参数
AGE="18"
- 根目录下创建app.py文件
from flask import Flask
from settings.config import DefaultConfig
app = Flask(__name__)
app.config.from_pyfile('setting.py') # 从文件中加载配置
print(app.config)
if __name__ == '__main__':
app.run()
<4> 从环境变量中加载配置文件
暂时没有掌握
三.设计模式简单导入
1.根目录下创建forest.py文件
class Animal():
def do_say(self):
pass
class Cat(Animal):
def do_say(self):
print("miaomiao")
class Dog(Animal):
def do_say(self):
print("wangwang")
class Forest():
def say(self, animal_type):
eval(animal_type)().do_say()
if __name__ == '__main__':
a = input("请输入输入的动物类型: Cat or Dog")
print("接收到的数据为:", a)
Forest().say(a)
2.工厂模式创建APP
在根目录创建create_app()
from flask import Flask
# 创建flask对象
def create_app():
flask_app = Flask(__name__)
print("我被调用了")
return flask_app
同级目录下创建app.py调用
from create_app import create_app
app = create_app()
if __name__ == "__main__":
app.run()
四.路由的定义
路由的基本格式
@app.route("/hello",methods=["get","post"],endpoint="aaa")
def hello():
return "hello"
- url 路由路径
- methods 请求方法
- endpoint 别名(可有可无)
通过url-for 方法找到路由别名endpoint
@app.route("/path")
def get_path():
u = url_for("aaa")
print(u)
return u
边栏推荐
- Sentinel源码(四)(滑动窗口流量统计)
- 栈 && 队列
- 【Tensorflow】AttributeError: ‘_TfDeviceCaptureOp‘ object has no attribute ‘_set_device_from_string‘
- 如何选择正规的期货交易平台开户?
- Awesome!Alibaba interview reference guide (Songshan version) open source sharing, programmer interview must brush
- drf序列化器-Serializer
- 云片网案例
- Tornado框架路由系统介绍及(IOloop.current().start())启动源码分析
- deal!It's July 30th!
- 机器学习——交叉验证法
猜你喜欢
随机推荐
WeChat Mini Program-Recent Dynamic Scrolling Implementation
WiFi Association & Omnipeek Packet Capture Analysis
els long block deformation conditions, boundary collision judgment
数据机构---第六章图---图的遍历---选择题
HALCON: 对象(object)从声明(declaration)到结束(finalization)
replay视频播放器_怎么让手机音乐跟视频一起放
Audio processing: floating point data stream to PCM file
Interviewer: Can you talk about optimistic locking and pessimistic locking?
基于深度学习的图像检索方法!
EasyExcel 的使用
els 长条方块变形条件、边界碰撞判定
jwt(json web token)
IDEA打包jar包
软件测试和硬件测试的区别及概念
drf序列化器-Serializer
如何选择正规的期货交易平台开户?
定了!就在7月30日!
海明校验码纠错设计原理
Sentinel源码(四)(滑动窗口流量统计)
Image retrieval method based on deep learning!