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