• Flask框架01(最小应用与调试)


    前言
      这里直接从flask框架的最小应用开始介绍,不会介绍python环境的安装(这个前面的文章已经介绍过了),flask库的安装也不多介绍,太容易了(pip install flask)。
     
    最小应用
      不过是学什么语言,第一个代码教的一般都是hello world!,所以这里最小应用依然使用hello world来进行介绍。
    源码:
    from flask import Flask
    app = Flask(__name__)
     
    @app.route('/')
    def index():
        return 'Hello World' 
    
    if __name__ == '__main__': 
        app.debug = True 
        app.run()
    源码介绍:
    • 首先我们导入了 flask 类。 该类的实例将会成为我们的 WSGI 应用。
    • 接着我们创建一个该类的实例。第一个参数是应用模块或者包的名称。如果你使用 一个单一模块(就像本例),那么应当使用 __name__ ,因为名称会根据这个 模块是按应用方式使用还是作为一个模块导入而发生变化(可能是 ‘__main__’ , 也可能是实际导入的名称)。这个参数是必需的,这样 Flask 才能知道在哪里可以 找到模板和静态文件等东西。
    • 然后我们使用 route() 装饰器来告诉 Flask 触发函数的 URL 。
    • 函数最后返回需要在用户浏览器中显示的信息。
    • app.debug设置为True,是开启调试模式。
    • app.run启动flask程序。
     
    运行程序
    可以直接在IDE中run程序,也可以在cmd命令中使用如下命令启动:
    export FLASK_APP=hello.py
    python -m flask run
    启动之后可以在控制台或者命令窗口看到如下信息:
    * Serving Flask app "hello" (lazy loading)
    * Environment: production
    * Debug mode: on
    * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    之后,我们就开始访问http://127.0.0.1:5000/了,如果正确的话,我们将会获得hello world!的返回结果。
     
    调试模式
      在上面介绍最小应用hello world的时候,已经介绍了一种开启调试模式的方法,那就是在程序中写明app.debug为True。但是实际上还可以在命令行中进行设置,这里涉及到flask的俩个参数,在这里都简单介绍一下。
    export FLASK_ENV=development
    这样可以实现以下功能:
    1. 激活调试器。
    2. 激活自动重载。
    3. 打开 Flask 应用的调试模式
    也可以设置FLASK_DEBUG=1,这就只是打开flask应用的调试模式。
     
    调试模式的作用
    前面最小应用的时候,虽然开启了调试模式,但是程序没有什么错误,所以显示不出调试模式的作用,但是如果在服务器程序出问题的情况下,调试模式可以直观的看出问题所在。这里分享一张error图:
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    apache commons-io相关介绍-IOUtils类
    apache commons-io相关介绍-DirectoryWalker类
    apache commons-io相关介绍-FileUtils类
    apache commons-io相关介绍-monitor包
    android笔记--AsyncTask例子
    Java Swing中的SwingWorker
    Predicting Boston Housing Prices
    matplotlib.pyplot 中很好看的一种style
    机器学习算法比较
    udacity 机器学习课程 project2
  • 原文地址:https://www.cnblogs.com/52why/p/13198331.html
Copyright © 2020-2023  润新知