Flask设置和获取cookies案例

w3cschool Flask教程中关于cookie的设置代码不完整,完整如下:
主程序:

from flask import Flask, render_template, request,make_response
app = Flask(__name__)

@app.route('/')
def index():
   return render_template('new5.html')

@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
   if request.method == 'POST':
       user = request.form['nm']
       resp = make_response(render_template('new55.html'))  #make_response 创建一个返回对象,不能直接写HTML文件要,从模板引用即render_template('new55.html')
       resp.set_cookie('userID', user)  #为返回设置 set-cookie字段,字段内容为userID=**** 
   return resp

@app.route('/getcookie')
def getcookie():
   name = request.cookies.get('userID')

   return ('

welcome '+str(name)+'

') if __name__ == '__main__': app.run(debug=True)

new5.html 文件



   

      

Enter userID

new55.html文件




    
    111111


    

HIssssssssssss , Cookies UserID is set

Click to read Cookies

request,redirect,make_response用法总结:
一、request 请求

from flask import request
app = Flask(__name__)
 
@app.route('/get_request', methods=['GET', 'POST'])
def get_request():
    if request.method == 'GET':
        args = request.args
    else:
        form = request.form
    return '获取request'

flask中,要获取get请求的参数,不是通过request.GET.get(),而是通过request.args.get()获取

二、redirect 跳转
1.参数是url形式

@app.route('/redirect/')
def make_redirect():
    return redirect('/hello/index/')

2.参数是 name.html 形式
url_for 是地址的反向解析,可以到达这个html文件在网页中的地址

app.route('/redirect/')
def make_redirect():
    return redirect(url_for('first.index'))

三、make_response 响应
1.返回内容

@app.route('/make_respon/')
def make_respon():
    response = make_response('

羞羞哒

') return response, 404

2.返回页面

@app.route('/make_respo/')
def make_respon():
    temp = render_template('hello.html')
    response = make_response(temp)
    return response 
    #make_response 想要返回页面,不能直接写做:make_response('hello.html'),必须用render_template('hello.html')形式。

你可能感兴趣的:(Python编程,python,学习)