zoukankan      html  css  js  c++  java
  • Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World

    安装virtualenv,配置Flask开发环境

    virtualenv

    虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包,而且不会影响系统中安装到全局Python解释器。虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突,为每个程序单独创建虚拟环境,可以保证程序只能访问虚拟环境中的包从而保持全局解释器的干净整洁。

    • 安装
    sudo apt-get install python-virtualenv
    
    • 创建项目目录
    mkdir Blog ; cd Blog
    
    • 查看版本
    virtualenv --version
    
    • 命名项目的虚拟环境
    virtualenv venv
    
    • 指定python版本
    virtualenv -p /usr/bin/python2 virtualenv‘s name
    
    • 激活虚拟环境
    . venv/bin/activate
    

    环境激活后命令提示符发生改变(venv) $

    • 退出虚拟环境
    deactivate
    

    编写Hello World

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
    

    运行结果如下

     * Serving Flask app "hello" (lazy loading)
     * Environment: production
       WARNING: Do not use the development server in a production environment.
       Use a production WSGI server instead.
     * Debug mode: off
     * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    

    上面使用Flask官方文档demo

    • 初始化
    from flask import Flask
    app = Flask(__name__)
    

    首先导入了类Flask,第一个参数是应用模块的名称。如果使用的是单一的模块,第一个参数应该使用 __name__

    • 路由和视图函数
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    

    程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URLPython函数到映射关系。处理URL和函数之间关系的程序成为路由。Flask使用程序实例提供到app.route修饰器,把修饰的函数注册为路由。接下来定义一个函数,该函数名也是用来给特定函数生成URL,并且返回我们想要显示在用户浏览器上的信息。

    • 启动服务器
    if __name__ == '__main__':
        app.run()
    

    最后我们用函数run()启动本地服务器来运行我们的应用。if __name__ == '__main__':确保服务器只会在该脚本被Python解释器直接执行的时候才会运行,而不是作为模块导入的时候。

    改写程序,输出Hello Mark

    创建应用工程目录

    mkdir app
    

    app目录下创建文件__init__.pyroutes.pymanage.py。在Python程序中,包含__init__.py文件的子目录被视为一个可导入的包。routes.py定义视图函数的代码。manage.py导入应用程序实例。

    # __init__.py
    from flask import Flask
    
    app = Flask(__name__)
    
    from app import routes
    
    # routes.py
    from app import app
    
    @app.route('/')
    @app.route('/index')
    def index():
        return "Hello, World!"
    @app.route('/user/<name>')
    def user(name):
        return '<h1>Hello, %s</h1>' % name
    
    manage.py
    from app import app
    

    设置FLASK_APP环境变量

    export FLASK_APP=manage.py
    

    程序目录

    Project
      venv
      app
        __init__.py
        routes.py
        manage.py
    

    运行

    参考文档:
    http://flask.pocoo.org/
    http://www.pythondoc.com/flask/index.html

  • 相关阅读:
    Git 获取远程分支
    entOS查看系统信息-CentOS查看命令
    CentOS6.5下用yum安装 git
    CENTOS如何禁用ROOT本地或远程SSH登录
    ProtoBuf练习(二)
    ProtoBuf练习(一)
    ProtoBuf练习
    Protocol Buffers官方文档(开发指南)
    Protocol Buffers官方文档(proto3语言指南)
    Boost Python学习笔记(五)
  • 原文地址:https://www.cnblogs.com/mark-zh/p/10419132.html
Copyright © 2011-2022 走看看