flask是python的一个web开发框架,相比django来说,flask显得更加轻量级,也没有ORM实现,上手很快。总之,用flask限制很小,你可以自由发挥其它组件,比如数据库,django原生不支持mongodb的。
安装flask:
sudo apt-get install python-flask sudo apt-get install python-virtualenv
建立一个hello world项目:
cd ~/www/ mkdir flaskdemo cd flaskdemo virtualenv venv pip install Flask vim hello.py
hello.py内容:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'hello world'
@app.route('/user/<username>')
def show_user_profile(username):
return 'User %s ' % username
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post id %d' % post_id
apache下安装mod_wsgi模块:
apt-get install libapache2-mod-wsgi
配置apache,在配置文件中加入下面配置:
WSGIDaemonProcess flaskdemo user=chenming group=sudo threads=5
WSGIScriptAlias /flaskdemo /home/chenming/www/flaskdemo/hello.wsgi
<Directory /home/chenming/www/flaskdemo>
WSGIProcessGroup flaskdemo
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
其中/home/chenming/www/flaskdemo/hello.wsgi文件内容:
import sys
sys.path.append("/home/chenming/www/flaskdemo/")
from hello import app as application
#import app就是指的app = Flask(__name__),参考http://stackoverflow.com/questions/9680073/how-do-i-use-flask-routes-with-apache-and-mod-wsgi
启动apache,然后访问 http://127.0.0.1/flaskdemo/ 和 http://127.0.0.1/flaskdemo/user/xxx