1.Linux下安装virtualenv管理开发环境
sudo easy_install virtualenv 或者sudo pip install virtualenv
搭建你的项目开发环境:
mkdir demo1
cd demo1
virtualenv envdeomo1
.envdemo1/bin/activate
2.安装flask
sudo pip install flask
3.第一个flask应用
from flask import Flask
app=Flask(name)
@app.route('/')
def hello_world():
return 'hello world'
if name=='main':
app.run()
保存为hello.py并运行python hello.py
4.HTTP小常识
GET请求:浏览器告诉服务器,只获取页面的信息。
POST请求:浏览器告诉服务器,想在当前的URL上发布新信息,并且服务器必须确保数据已经存储且只存储一次。
HEAD请求:浏览器告诉服务器,我想获取信息,但是只关心消息头,应该像GET请求一样来处理,但是不分发实际的内容。
PUT请求:POST请求多次会覆盖存储的旧值,用PUT
DETELE请求:删除给定位置信息
5、from flask import request
@app.route('/login',method='POST','GET')
def login():
error=None
if request.method =='POST':
if valid_login(request.form'username',
request.form'password'):
return log_the_user_in(request.form'username')
else:
error='invalid username/password'
return render_template('login.html',error=error)
6、文件上传:
from flask import request
+from Werkzeug import secure_filename
@app.route('/upload',method='GET','POST')
def upload_file():
if request.method=='POST':
f=request.files'the_file'
f.save('/var/www/uploads/'+secure_filename(f.filename))
7、读取cookies
form flask import request
@app.route('/')
def index():
username=request.cookies.get('username')
存储cookies
from flask import make_response
@app.route('/')
def index():
resp=make_response(render_template(...))
resp.set_cookie('username','the username')
return resp
8、将用户当前信息保存在cookies中
form flask import request
@app.before_request
def detect_user_language():
language=reuqest.cookies.get('user_lang')
if language is None:
language=guess_language_from_request()
@after_this_request
def remember_language(response):
response.set_cookie('user_lang',language)
g.language=language