Flask笔记一:

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