1 from flask import Flask 2 from flask import request 3 from flask import render_template 4 from flask import redirect 5 from flask import make_response 6 7 app = Flask(__name__) 8 9 10 @app.route('/login.html', methods=['GET', "POST"]) 11 def login(): 12 13 # 請求相關信息 14 # request.method 15 # request.args 16 # request.form 17 # request.values 18 # request.cookies 19 # request.headers 20 # request.path 21 # request.full_path 22 # request.script_root 23 # request.url 24 # request.base_url 25 # request.url_root 26 # request.host_url 27 # request.host 28 # request.files 29 # obj = request.files['the_file_name'] 30 # obj.save('/var/www/uploads/' + secure_filename(f.filename)) 31 32 # 響應相關信息 33 # return "字符串" 34 # return render_template('html模板路徑',**{}) 35 # return redirect('/index.html') 36 37 # response = make_response(render_template('index.html')) 38 # response是flask.wrappers.Response類型 39 # response.delete_cookie('key') 40 # response.set_cookie('key', 'value') 41 # response.headers['X-Something'] = 'A value' 42 # return response 43 44 45 return "內容" 46 47 if __name__ == '__main__': 48 app.run()
常常會有字符 空格 ' "" 等被轉義成其餘字符,這實際上是特殊字符進行轉義,防止js注入html
在js中能夠利用tojson解決。json
好比數組 num = ["ni"],通過flask的 {{num}}傳入js後,就變成了'ni'flask
解決方法數組
利用js的tojsoncookie
var myGeocode = {{ num|tojson }};app
1 from flask import Flask, flash, redirect, render_template, request 2 3 app = Flask(__name__) 4 app.secret_key = 'some_secret' 5 6 @app.route('/') 7 def index1(): 8 return render_template('index.html') 9 10 @app.route('/set') 11 def index2(): 12 v = request.args.get('p') 13 flash(v) 14 return 'ok' 15 16 class MiddleWare: 17 def __init__(self,wsgi_app): 18 self.wsgi_app = wsgi_app 19 20 def __call__(self, *args, **kwargs): 21 22 return self.wsgi_app(*args, **kwargs) 23 24 if __name__ == "__main__": 25 app.wsgi_app = MiddleWare(app.wsgi_app) 26 app.run(port=9999)