flask框架预备知识

Posted wyb666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask框架预备知识相关的知识,希望对你有一定的参考价值。

1.web预备知识

2.flask介绍

3.web框架的本质及分类

4.flask安装与基本设置

 

 

1.web预备知识

HTTP协议:https://www.cnblogs.com/wyb666/p/9383077.html

关于web的本质:http://www.cnblogs.com/wyb666/p/9034042.html

如何自定义web框架:http://www.cnblogs.com/wyb666/p/9038644.html

了解cookie和session:https://www.cnblogs.com/wyb666/p/9068853.html

 

 

2.flask介绍

(1)flask介绍

Python的WEB框架有Django、Tornado、Flask 等多种

flask是一个基于python的,微型web框架。之所以被称为微型是因为其核心非常简单,同时具有很强的扩展能力。它几乎不给使用者做任何技术决定。

安装flask时应该注意其必须的几个支持包比如Jinja2,Werkzeug等。如果使用easy_install或者pip这样的安装工具的话那么就不必担心这么多了。另外flask还有一些可选的辅助模块,使用它们可以让程序更加简洁易懂,比如SQLAlchemy用于数据库的连接和操作,flask-WTForm用于网页上表单的设计

 

(2)MVC

MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:

  • M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)
  • C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带
  • V——负责把数据格式化后呈现给用户

 

(3)flask的优点

  • 极大的定制与扩展灵活
  • ORM、模板等海量第三方扩展
  • Flask比Django更加Pythonic,与Python的philosophy更加吻合

 

(4)flask的组件

  • flask-sqlalchemy -> ORM
  • flask-script -> 为在Flask里编写额外的脚本提供了支持
  • flask-migrate -> 为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作
  • flask-bootstrap -> 是包含了Bootstrap框架的扩展,安装Flask-Bootstrap之后,就可以在程序中集成Bootstrap
  • flask-moment -> 本地化时间和日期
  • flask-wtf -> 简化表单处理、防跨站请求伪造(CSRF)攻击
  • 、、、

 

 

3.web框架的本质及分类

(1)web框架的本质:socket服务端 与 浏览器的通信

 

(2)socket服务端功能划分

  • 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn...
  • 根据用户访问不同的路径执行不同的函数
  • html读取出内容,并且完成字符串的替换 --> jinja2(模板语言)


(3)Python中 Web框架的分类

按上面三个功能划分:

  • 框架自带a,b,c --> Tornado
  • 框架自带b和c,使用第三方的a --> Django
  • 框架自带b,使用第三方的a和c --> Flask

按另一个维度来划分:

  • Django --> 大而全(你做一个网站能用到的它都有)
  • 其他 --> Flask 轻量级

 

 

4.flask安装与基本设置

(1)flask安装

1 pip3 install flask

 

(2)创建flask项目

 

 

(3)设置flask项目

 

 


以上是关于flask框架预备知识的主要内容,如果未能解决你的问题,请参考以下文章

django框架预备知识

[NTUSTISC pwn LAB 7]Return to libc实验(puts泄露libc中gadget片段定位)

Flask框架重点知识总结回顾

第一节:Java数据结构预备知识之数据结构Java集合框架概述

Flask框架知识点整合

flask基础知识