Flask

一个视图函数可以对应多个修饰器:

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

备注:

  1.   一个视图函数可以有多个装饰器,但是不能多个装饰器分开的时候都是相同的视图函数;
  2.   装饰器内部括号单引号内的内容成为EndPoint,因为EndPoint,总是跟在域名后面共同构成URL;

 

服务器端APP需要使用路由地址,如何获得呢?

with app.test_request_context():
...  print url_for('index')
...  print url_for('login')
...  print url_for('login', next='/')
...  print url_for('profile', username='John Doe')
url_for('此处为视图函数的名字,如上面视图函数index','此参数是装饰器传递给视图函数的参数')

装饰器可以传递多个参数给视图函数;

@app.route('/post/<username>/<int:post_id>')
def show_post():
return 'User %s Post %d' % (username,post_id)


# 注意此处的返回数据必须放在一个元组里面才可以;
# 另外每个参数都放在独立的尖括号里面;

 
装饰器可以传入Meathod参数,指定HTTP方法,传递给视图函数:
 GET/HEAD/POST/PUT/DELETE/OPTIONS

@app.route('/hello',methods=['get','post','options'])
def hello():
name = request.args.get('name','')
return 'Hello ' + name + '!'



 

posted @ 2019-07-01 00:11  braveheart007  阅读(155)  评论(0编辑  收藏  举报