flask 之(一) --- 介绍|框架|安装

本文深入介绍了Flask,一个基于Python的轻量级Web框架,详细阐述了其MVC设计模式,依赖库,流行原因,以及如何在不同操作系统上搭建开发环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单介绍

  Flask是一个基于Python实现的Web开发‘微’框架,和Django一样,也是基于MVC设计模式的Web框架。

  官方文档:http://flask.pocoo.org/docs/0.12/

  中文文档:http://docs.jinkan.org/docs/flask

  Flask依赖三个库:

    Jinja2 模版引擎

    Werkzeug WSGI工具集

    Itsdangerous 基于Django的签名模块

   Flask流行的主要原因:

    有非常齐全的官方文档,上手非常方便

    有非常好的扩展机制和第三方扩展环境,自己实现扩展也很容易

    社区活跃度非常高

    微型框架的形式给开发者更大的选择空间

   MVC设计模式:

    一种软件设计典范,用一种业务逻辑,使数据,界面显示分离的方法组织代码,

    将业务逻辑聚集到一个部件里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑。

    MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化界面结构中。核心思想是:解耦合。

    优点:降低各个模块之间的耦合性,方便变更。更容易重构代码,最大程度实现了代码的重用。

   MVC(Model、View、Controller)

    Model:用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部分,

        Model通常只提供功能性的接口。通过这些接口可以获取Model的所用功能   

     View:负责数据的显示和呈现,View是对用户的直接输出

    Controller:负责从用户端收集用户的输入,可以看成提供View的反向功能,主要处理用户交互

     

  MTV设计模式:

    本质上与MVC没有什么区别,也是各组件之间为了保持松耦合关系,只是定义上有些不同

    Model:负责业务对象与数据库(ORM)的对象

    View:负责业务逻辑,并在适当的时候调用Model和Template

    Template:负责把页面展示给用户

 MVC与MTV关系

  • Model:负责和数据交互的

  • View == Template:视图 == 模板、负责数据展示

  • Controller == Views:控制器 == 视图函数、接收用户输入、调用数据 Model、展示数据

开发环境

  开发环境:Mac、Windows、Linux。三种主流的操作系统都可以支持,一般选择LInux系统

  Linux:安装Linux系统、安装Linux虚拟机、购买阿里云服务。Ubuntu、RedHab、CentOS、.....

  软件介绍:

    pip:Python的包管理工具

    virtualenv:python专属的虚拟环境,用来保持一个独立的环境

    Mysql:常用的数据库之一

  软件安装:

    安装pip:apt install python-pip

    安装virtualenv:pip install virtualenv

    安装虚拟环境配置文件:pip install virtualenvwrapper

    配置虚拟环境:mkdir ~/.virtualenvs。在用户目录下创建一个隐藏文件夹,编辑环境变量

    添加文件路径:vim .bashrc。  

      末行添加: export WORKON_HOME=/root/.virtualenvs  :创建文件夹存放虚拟环境

            source /usr/local/bin/virtualenvwrapper.sh  :在环境变量中导出虚拟环境的路径

    激活虚拟环境管理脚本:source .bashrc/virtualenvwrapper.sh

环境搭建

  • 创建:mkvirtualenv 虚拟环境名
  • 删除:rmvirtualenv 虚拟环境名
  • 进入:workon 虚拟环境名
  • 退出:deactivate

 

  • pip install xxx:安装xxx依赖包
  • pip list:查看所有依赖包
  • pip freeze:查看虚拟环境新安装的包

 

  • pip install mysql-server:安装mysql服务器
  • pip install mysql:安装mysql
  • mysql -uroot -p密码:登陆mysql

 简单拆分

  • manage.py
 1 from flask_script import Manager
 2 from app import create_app
 3 
 4 """
 5 flask 项目结构
 6     0。 将 app.py 重命名为 manage.py 
 7     1。 在 项目目录下创建 app 包
 8     2。 将 status / templetes 移动到 app 保中
 9     3。 在 app/__init__.py 中创建 create_app 函数,用于返回 flask 实例
10         def create_app():
11             app = Flask(__name__)
12             return app
13     4。 在manage.py 中,通过 create_app 函数,获取 Flask 实例
14         app = create_app()
15     5. 在 app 包中创建 views.py 和 models.py
16 """
17 
18 """
19 蓝图的使用(Blueprint):
20 注意:蓝图的实例化必须和蓝图所管理的视图函数放在一起
21 
22     1。在 views.py 中创建 Blueprint
23         bp = Blueprint("user",__name__)
24         
25     2。 在视图函数中使用蓝图(通过蓝图来管理我们的视图函数)
26         @bp.route("/user/")
27         def user():
28             return "user view"
29     
30     3。在 Flask 实例中注册项目的蓝图
31         app.register_blueprint(views.bp)
32     
33 """
34 
35 app = create_app()          # 用一个函数创建app实例
36 manager = Manager(app=app)  # 将flask的app实例交给flask-scirpt的Manager来管理
37 
38 
39 if __name__ == '__main__':
40     manager.run()

  • app/__init__.py
1 from flask import Flask
2 from app import views
3 
4 def create_app():
5     app = Flask(__name__)            # 实例化 Flask对象
6     app.register_blueprint(views.bp) # 将蓝图注册到app上
7     return app                       # 返回出去Flask实例
  • app/views
 1 from flask import Blueprint
 2 
 3 # 用蓝图管理路由,规划url。参数("蓝图名字",__name__)。 注意⚠️:蓝图必须和蓝图管理的视图在一个文件中,不然不能使用。
 4 bp = Blueprint("blue",__name__)
 5 
 6 @bp.route('/')
 7 def hello_world():
 8     return 'Hello World!'
 9 
10 # 带参路由
11 @bp.route("/index/<name>")
12 def index(name):
13     return

 

转载于:https://www.cnblogs.com/TMMM/p/11450857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值