Python day36_Flask入门

作者: g_s_007 | 来源:发表于2018-06-19 22:32 被阅读0次

视图及路由

简介

Web框架

什么是Web框架?

  • 协助开发者快速开发 Web 应用程序的一套功能代码
  • 开发者只需要按照框架约定要求,在指定位置写上自己的业务逻辑代码

为什么用Web框架?

  • 稳定性和可扩展性强
  • 可以降低开发难度,提高开发效率。

在python中有哪些Web框架?

  • flask
  • django
  • tornado

Flask简介

Flask诞生于2010年,用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架.

其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心

05.jpg
  • Werkzeug实现路由、调试和Web服务器网关接口

  • Jinja2实现了模板。

  • Werkzeug是一个遵循WSGI协议的python函数库

    • 其内部实现了很多Web框架底层的东西,比如request和response对象;
    • 与WSGI规范的兼容;支持Unicode;
    • 支持基本的会话管理和签名Cookie;
    • 集成URL请求路由等。

Werkzeug库的 routing 模块负责实现 URL 解析。不同的 URL 对应不同的视图函数,routing模块会对请求信息的URL进行解析,匹配到URL对应的视图函数,执行该函数以此生成一个响应信息

routing模块内部有:

  • Rule类

用来构造不同的URL模式的对象,路由URL规则

  • Map类

存储所有的URL规则和一些配置参数

  • BaseConverter的子类

负责定义匹配规则

  • MapAdapter类

负责协调Rule做具体的匹配的工作

Flask 本身相当于一个内核,其他几乎所有的功能都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

Flask 相关文档:

Flask常用扩展包:

  • Flask-SQLalchemy:操作数据库;
  • Flask-script:插入脚本;
  • Flask-migrate:管理迁移数据库;
  • Flask-Session:Session存储方式指定;
  • Flask-WTF:表单;
  • Flask-Mail:邮件;
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Login:认证用户状态;
  • Flask-OpenID:认证;
  • Flask-RESTful:开发REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和时间;
  • Flask-Admin:简单而可扩展的管理接口的框架

扩展列表:http://flask.pocoo.org/extensions/

Flask 虚拟环境

为什么要搭建虚拟环境?

原因:

如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果直接在终端安装, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了

解决:

使用虚拟环境

  • 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响
  • 所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs下
  • 在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装

如何搭建虚拟环境?

说明:下面指令都是在终端窗口运行

安装虚拟环境的命令 (在根目录下):

sudo pip install virtualenv

sudo pip install virtualenvwrapper

创建虚拟环境的命令:

python2中:

如果不指定 默认就是python2

mkvirtualenv 虚拟环境名称
例 :
mkvirtualenv py2_flask

python3中:

mkvirtualenv -p python3 虚拟环境名称
例 :
mkvirtualenv -p python3 py3_flask

在虚拟环境中安装flask:

sudo pip install flask==0.10.1

创建完成后,默认是进入虚拟环境的 提示符最前面会出现 “虚拟环境名称”

view.JPG

如何使用虚拟环境?

进入、查看虚拟环境:

workon 虚拟环境名称 (如果忘记可用两次tab键 查看创建的虚拟环境名称)

退出虚拟环境:

deactivate

删除虚拟环境:

rmvirtualenv 虚拟环境名称

例 :删除虚拟环境py3_flask

先退出:deactivate
再删除:rmvirtualenv py3_flask

虚拟环境中安装工具包位置

python2版本下:
~/.virtualenvs/py2_flask/lib/python2.7/site-packages/

python3版本下:
~/.virtualenvs/py3_flask/lib/python3.5/site-packages

查看在虚拟环境中安装了哪些工具包:

pip freeze

相关文章

网友评论

    本文标题:Python day36_Flask入门

    本文链接:https://www.haomeiwen.com/subject/gvjveftx.html