是否可以直接声明flask URL可选参数?
目前,我正在进行以下操作:
@user.route('/<userId>')
@user.route('/<userId>/<username>')
def show(userId, username=None):
pass
我怎么能直接说username
是可选的呢?
发布于 2012-12-26 00:27:00
另一种方法是编写
@user.route('/<user_id>', defaults={'username': None})
@user.route('/<user_id>/<username>')
def show(user_id, username):
pass
但我猜您想要编写一条路由并将username
标记为可选?如果是这样的话,我认为这是不可能的。
发布于 2013-05-15 23:43:00
与几个月前开发的Audrius几乎相同,但您可能会发现,使用函数头中的默认值会更具可读性-就像您习惯使用python的方式一样:
@app.route('/<user_id>')
@app.route('/<user_id>/<username>')
def show(user_id, username='Anonymous'):
return user_id + ':' + username
发布于 2014-10-15 17:39:18
如果你像我一样使用Flask-Restful,也可以这样做:
api.add_resource(UserAPI, '/<userId>', '/<userId>/<username>', endpoint = 'user')
A然后在你的Resource类中:
class UserAPI(Resource):
def get(self, userId, username=None):
pass
https://stackoverflow.com/questions/14032066
复制相似问题