经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Flask的环境配置
来源:cnblogs  作者:顾以北  时间:2021/5/31 16:24:02  对本文有异议

 

 

Flask

  • django是大而全,提供所有常用的功能

  • flask是小而精,只提供核心功能

环境配置

为了防止 django和 flask环境相互冲突,可以使用 虚拟环境分割开

  1.   
      pip install virtualenv virtualenvwrapper-win  # 安装虚拟环境基本的依赖包
    ?
      mkvirtualenv flask  # 创建一个叫 flask的虚拟环境
      deactivate  # 退出当前虚拟环境
      rmvirtualenv flask  # 删除名叫 flask的虚拟环境
    ?
      workon flask  # 进入虚拟环境flask
      pip install -r requirements.txt  # 在虚拟环境中安装flask必备的包

基本流程

配置项可以参考 官方 文档

  • 创建flaskAPP

  • 定义视图函数

  • 对视图函数配置路由

    • 使用装饰器,配置路由

    • 调用app的方法 add_url_rule 对视图函数配置路由

  • 运行APP

    1. from flask import Flask
      ?
      # __name__ 当前 文件的名字
      # __file__ 当前 文件的路径
      # 1. 创建flask的app
      app = Flask(__name__)
      ?
      ?
      # 2.1 创建视图函数,利用装饰器可以配置路由
      @app.route('/')
      def hello():
         return "hello Flask"
      ?
      ?
      # 2.2.1 创建视图函数
      def two():
         return 'two page'
      ?
      # 2.2.2 利用app的方法对视图函数添加路由
      app.add_url_rule('/two', view_func=two)
      ?
      ?
      if __name__ == '__main__':
         # 3. 运行APP
         app.run()

    项目配置

    配置文件

    通过专门的配置文件,读取配置项,适用于配置项较多

    settings.py

    1. class Config(object):
         DEBUG = True

    主模块

    1. import os
      from flask import Flask
      from settings import Config
      ?
      app = Flask(__name__)
      ?
      # app.config.from_object('settings.Config')
      app.config.from_object(Config)
      ?
      ?
      @app.route('/')
      def hello():
         return "hello Flask"
      ?
      ?
      if __name__ == '__main__':
         app.run()

    工厂模式

    如果在一个函数中 创建对象,那么就可以创建多个实例。

    那么这样做有什么用呢?

    1. 用于测试。可以针对不同的情况使用不同的配置来测试应用。

    2. 用于多实例,如果你需要运行同一个应用的不同版本的话。当然你可以在服务器上 使用不同配置运行多个相同应用,但是如果使用应用工厂,那么你可以只使用一个 应用进程而得到多个应用实例,这样更容易操控。

    app/settings.py

    1. class Config(object):
         # 配置项在flask文档中已经规定好
      ?
         DEBUG = True

    app/__init__.py

    1. from flask import Flask
      from .settings import Config
      ?
      ?
      def create_app():
         # 1. 创建app对象
         app = Flask(__name__)
         # 2. 导入配置类
         app.config.from_object(Config)
      # 3. 返回 flask对象
         return app
      ?

    主模块

    main.py

    1. # 1. 导入工厂函数
      from app import create_app
      ?
      # 2. 生成APP
      app = create_app()
      ?
      ?
      @app.route('/')
      def hello():
         return "hello Flask"
      ?
      ?
      if __name__ == '__main__':
         # 3. 启动flask服务
         app.run(host='0.0.0.0', port=7000, debug=True)

原文链接:http://www.cnblogs.com/gaogang/p/14831905.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号