1、flask是一个轻量级的python web框架
·1、Flask 依赖两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 套件
·2、安装:
# easy_install flask 安装
# python 测试安装是否成功
>>> import flask
2、增强工具:virtualenv(摘自:http://dormousehole.readthedocs.org/en/latest/installation.html#installation)
如果你使用 Mac OS X 或 Linux ,那么可以使用下面两条命令中任意一条:
$ sudo easy_install virtualenv
或更高级的:
$ sudo pip install virtualenv
上述命令中的任意一条就可以安装好 virtualenv 。也可以使用软件包管理器,在 Ubuntu 系统中可以试试: $ sudo apt-get install python-virtualenv
使用:
root@pc:/# mkdir flask root@pc:/# cd flask/
root@pc:/flask# virtualenv venv 创建一个包含venv文件夹的项目文件夹: New python executable in venv/bin/python Installing setuptools, pip...done. root@pc:/flask# ls venv
root@pc:/flask# . venv/bin/activate 每次使用项目时,必须先激活相应的环境
3、"Hello World"
(venv)root@pc:/flask# vim hello.py
编辑内容:
1 #coding=utf-8 2 from flask import Flask #导入flask类 3 app = Flask(__name__) #生成该类的一个实例 4 5 @app.route('/') #调用一个app的route方法 6 def hello_work(): #定义一个处理方法 7 return '<h1>hello world</h1>' 8 9 if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行 10 app.run()
保存退出,并执行:
root@pc:/flask# python hello.py * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [09/Apr/2015 14:15:07] "GET / HTTP/1.1" 200 -
根据提示,打开浏览器,输入网址:http://127.0.0.1:5000/
4、设置网络中其它电脑也可以访问:
修改app.run()为:
app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
保存,ctrl + shift + T打开另一个终端,执行:
root@pc:/flask# python hello.py * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
可以看到ip地址变了,现在可用自己的ip进行访问:
root@pc:/# ifconfig eth0 Link encap:以太网 硬件地址 44:37:e6:d0:d5:2e inet 地址:192.168.168.80 。。。。。
5、调试模式:绝对不能在生产环境中使用调试模式
(原因:它允许执行任意代码,这样会成为一个重大安全隐患)
打开调试模式的第一种方式:
app.debug = True #第一种方式:在应用对象上设置标志
app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
对应的:
root@pc:/flask# python hello.py * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
第二种方式:
app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法
对应的:
root@pc:/flask# python hello.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
至此,整个程序修改为:
#coding=utf-8 from flask import Flask #导入flask类 app = Flask(__name__) #生成该类的一个实例 @app.route('/') #调用一个app的route方法 def hello_work(): #定义一个处理方法 return '<h1>hello world</h1>' if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行 #app.debug = True #第一种方式:在应用对象上设置标志 #app.run(host='0.0.0.0') #用host参数,设定全网段可以访问 app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法
详情请看参考网址:
http://dormousehole.readthedocs.org/en/latest/
http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application