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
请求运行哪些代码,所以保存了一个URL
到Python
函数到映射关系。处理URL
和函数之间关系的程序成为路由。Flask
使用程序实例提供到app.route
修饰器,把修饰的函数注册为路由。接下来定义一个函数,该函数名也是用来给特定函数生成URL
,并且返回我们想要显示在用户浏览器上的信息。
- 启动服务器
if __name__ == '__main__':
app.run()
最后我们用函数run()
启动本地服务器来运行我们的应用。if __name__ == '__main__':
确保服务器只会在该脚本被Python
解释器直接执行的时候才会运行,而不是作为模块导入的时候。
改写程序,输出Hello Mark
创建应用工程目录
mkdir app
在app
目录下创建文件__init__.py
、routes.py
和manage.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