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'