Flask入门
一、Flask框架的简介
Flask是当下流行的Web框架,它是用Python实现的。Flask显著的特点是:它是一个“微”框架。”微”意味着Flask旨在保持核心的简单,但同时又易于扩展。默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask的这些特性,使得它在Web开发方面变得非常流行。
二、MVC设计模式
一种软件设计典范,用一种业务逻辑,使数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化界面结构中
核心思想:解耦
优点:降低个模块之间的耦合性,方便变更,更容易重构代码,最大程度实现了代码的重用。
MVC(Model,View,Controller)
MVC开始是存在于桌面程序中的,M是指业务模型 model,V是指用户界面 view,C则是控制器 controler,使用 MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图 来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新 实现了模型层的复用
Model:用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部分,Model通常只提供功能性的接口,通过这些接口可以获取Model的所有功能。
View:负责数据的显示和呈现,View是对用户的直接输出。
Controller:负责从用户端收集用户的输入,可以看成提供View的反向功能,主要处理用户交互
三、python中MVT
MVT(Model,View,Templates)
Model:用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部 分,Model通常只提供功能性的接口,通过这些接口可以获取Model的所有功能。
Templates:负责数据的显示和呈现,View是对用户的直接输出。
View:负责从用户端收集用户的输入,可以看成提供View的反向功能,主要处理用户交互
四、WEB架构
(1) B/S 浏览器->服务器
WEB网站
(2) C/S 客户端->服务器
B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现
的核心部分集中到服务器上,简化了系统的开发、维护和使用。
五、Flask框架俩大核心
Werkzeug 和 Jinja2
Werkzeug:实现路由 调试 和 web服务器网关接口
Jinja2:实现了模板(是flask核心开发组成员开发的)
六、Flask的简单入门使用
(1) 安装
pip install flask
(2) 启动完整程序
实例:
from flask import Flask
#实例化flask类 传入必传参数 __name__ import_name
app = Flask(__name__)
# 添加路由
@app.route('/')
def index():
return 'Hello World'
# 运行
if __name__ == '__main__':
app.run()
注意:
假如在运行flask项目过程中 出现地址被占用 那也就是说 之前开启的服务并没有死掉 那么你可以去杀死进程 或者关闭编辑器 在或者更改一下端口号 这些都可以解决这个问题
端口不传 默认5000
访问:
http://127.0.0.1:5000/
(3) 路由地址
# 添加路由 装饰器 传参就是字符串
@app.route('/')
def index():
return 'Hello World'
访问:
主机:端口/
(4) 启动参数
参数 | 说明 |
---|---|
debug | 是否开启调试模式 默认为False 开启后自动加载代码 并进行入调试 |
threaded | 是否开启多线程 默认不开启 |
port | 端口号 默认5000 |
host | 指定主机 默认127.0.0.1 |
app.run(host=‘0.0.0.0’,port=5001,debug=True,threaded=True)
当将主机设置为0.0.0.0 意味着可以使用IPV4或者127.0.0.1/localhost进行访问 如果不设置0.0.0.0 只能localhost/127.0.0.1进行访问