1視圖html
@app.route和app.add_url_rule參數: rule, URL規則 view_func, 視圖函數名稱 defaults = None, 默認值, 當URL中無參數,函數須要參數時,使用defaults = {'k': 'v'} 爲函數提供參數 endpoint = None, 名稱,用於反向生成URL,即: url_for('名稱') methods = None, 容許的請求方式,如:["GET", "POST"] #對URL最後的 / 符號是否嚴格要求,默認嚴格,False,就是不嚴格 strict_slashes = None ''' @app.route('/index', strict_slashes=False) #訪問http://www.xx.com/index/ 或http://www.xx.com/index都可 @app.route('/index', strict_slashes=True) #僅訪問http://www.xx.com/index ''' #重定向到指定地址 redirect_to = None, ''' @app.route('/index/<int:nid>', redirect_to='/home/<nid>') '''
from flask import Flask,request,render_template,redirect from flask import views app=Flask(__name__) def auth(func): def inner(*args, **kwargs): print('before') result = func(*args, **kwargs) print('after') return result return inner class IndexView(views.MethodView): methods = ['GET'] # 指定運行的請求方法 # 登陸認證裝飾器加在哪? decorators = [auth, ] #加多個就是從上往下的效果 def get(self): print('xxxxx') return "我是get請求" def post(self): return '我是post請求' # 路由如何註冊? # IndexView.as_view('index'),必須傳name app.add_url_rule('/index',view_func=IndexView.as_view('index')) if __name__ == '__main__': app.run() # 用的比較少 # 繼承views.MethodView,只須要寫get,post,delete方法 # 若是加裝飾器decorators = [auth, ] # 容許的請求方法methods = ['GET']
# request.method 提交的方法 # request.args get請求說起的數據 {name:adad,age:123}形式 # request.form post請求提交的數據 # request.values post和get提交的數據總和 # request.cookies 客戶端所帶的cookie # request.headers 請求頭 # request.path 不帶域名,請求路徑 # # request.full_path 不帶域名,帶參數的請求路徑 # request.url 帶域名帶參數的請求路徑 # request.base_url 帶域名請求路徑 # request.url_root 域名 # request.host_url 域名 # request.host 127.0.0.1:500 # request.files
# 響應對象 # 響應相關信息 # return "字符串" # return render_template('html模板路徑',**{}) # return redirect('/index.html') # 對着django,JsonResponse # return jsonify({'k1':'v1'}) aa='hello world' res=make_response(aa) res.set_cookie('xxx','lqz') # 往響應頭中放東西 res.headers['X-Something'] = 'A value' print(type(res)) from flask.wrappers import Response return res # response = make_response(render_template('index.html')) # response是flask.wrappers.Response類型 # response.delete_cookie('key') # response.set_cookie('key', 'value') # response.headers['X-Something'] = 'A value' # return response # return 'hello'