框架:
软件框架,指的是为了实现某个业界标准或者完成特别基本任务的软件组件规范,也指为了实现某个软件组建规范时,提供规范所要求之基础功能的软件产品。
框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系。我们通常依据特定的框架实现更为复杂的业务逻辑。框架,就是程序的骨架。1.Web框架:能够被服务器调用起来,根据客户端的不同请求执行不同的逻辑处理形成要返回的数据程序
核心: 实现路由和视图(业务逻辑处理)
1.1:使用框架的好处:
· 可重用 · 成熟、稳健 · 可扩展性良好 · 提高开发速度
1.2 : 什么是Web框架:
1.3 Python中常见的Web框架
2. Flask就是一个 使用python编写的轻量级的“微内核”Web应用框架:只提供Web框架的核心功能,自由,灵活,高度定制
Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。它主要
面向需求简单的小应用。
Flask没有默认使用的数据库,你可以选择MySQL,也可以用NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块) ,模 板引擎则使用 Jinja2 。
可以说Flask框架的核心就是Werkzeug和Jinja2。
Flask和Django和对比
flask有很多的扩展库,灵活性非常高
3.Flask中很多功能都需要扩展包来提供
Flask扩展包:
- Flask-SQLalchemy:操作数据库;
- Flask-migrate:管理迁移数据库;
- Flask-Mail:邮件;
- Flask-WTF:表单;
- Flask-script:插入脚本;
- Flask-Login:认证用户状态;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
4. Windows里面安装环境,,按照下面的步骤进行搭建
那么什么是虚拟环境呢?
这里给大家举一个简单的例子,桌面上有一个word文件,我们打开修改这个文件,修改了一会之后发现还是原来的文件比较好,这个时候我想找回原来的文件就比较困难了。那么怎么办呢?就有这样一种解决方案,在修改文件之前,先复制一份,然后在副本文件里进行修改,这样即使发现修改有错,也不会影响原始文件。
虚拟环境其实就是对真实pyhton环境的复制,这样我们在复制的python环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。
1: 进入cmd pip install virtualenv
2: 进入cmd pip install virtualenvwrapper-win
3. 检查是否已经把 Python对应的三个环境变量添加到系统的PATH里面
① : 安装Python的根目录, (根目录下有python.exe)\
②: Python的Lib路径
③: Python的Scripts路径
3: 创建项目文件夹(最好不好中文),然后在cmd里面进入项目文件夹,然后安装虚拟环境env (virtualenv env)
如果安装的时候后进入/env/Scripts,没有activate.bat或者报错,则执行
virtualenv env --no-setuptools --no-pip --no-wheel
4: 进入到 自己建立的项目文件夹/env/Scripts 输入(activate.bat)进入到环境
deactivate.bat 退出环境
5: mkvirtualenv flask工程名字 创建flask工程
如果创建工程的时候报错,执行 mkvirtualenv flask工程名字 --no-setuptools --no-pip --no-wheel
6:查看所有工程和路径: lsvirtualenv
7: mkvirtualenv flask工程名 -p python2 可以指定python的版本,前提是在自己电脑的环境变量中设置2和3的共 存 问题
8: 删除虚拟环境 rmvirtualenv 虚拟环境的名字
5. 新建一个py文件
# coding=utf-8
"""
@author : tongwei
# @Date : 2018/12/18
@File : hello.py
"""
from flask import Flask
# 创建flask的应用对象
# __name__:魔法变量,当前文件所在的模块名字
# 模块名,flask以这个模块所在的目录为总目录,
# 默认这个目录中的static为静态目录,templates为模块目录
app = Flask(__name__)
@app.route("/") # 利用装饰器到底和哪个视图函数绑定在一起传路径就行
def index():
"""
定义的视图函数,
:return:
"""
return "hello flask" # 返回的字符串到网页上显示出来
if __name__ == '__main__':
# 启动flask程序
app.run()
运行程序:
在浏览器中输入该网址,就可以了,结果如图:
6.路由:即视图函数的装饰器
客户端(列如Web 浏览器,把请求发送给Web服务器,Web服务器在把请求发送给Flask程序实例,程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到Python函数的映射关系。
处理URL和函数之间关系的程序称为路由)
7. 视图函数:
视图函数返回值称为响应,是客户端接收到的内容,如果客户端是Web浏览器,响应就是显示给用户查看的文档