是否可以直接声明Flask URL可选参数?目前,我正在按照以下方式进行:@user.route('/<userId>')@user.route('/<userId>/<username>')def show(userId, username=None): pass我如何直接说这username是可选的?
3 回答
森栏
TA贡献1810条经验 获得超5个赞
另一种方法是写
@user.route('/<user_id>', defaults={'username': None})
@user.route('/<user_id>/<username>')
def show(user_id, username):
pass
但是我想您想编写一条路由并将其标记username为可选?如果是这样,我认为不可能。
HUH函数
TA贡献1836条经验 获得超4个赞
几乎与几个月前完成的Audrius一样,但是您可能会发现函数头中的默认值(使用python的方式)更具可读性:
@app.route('/<user_id>')
@app.route('/<user_id>/<username>')
def show(user_id, username='Anonymous'):
return user_id + ':' + username
动漫人物
TA贡献1815条经验 获得超10个赞
如果您像我一样使用Flask-Restful,也可以这样:
api.add_resource(UserAPI, '/<userId>', '/<userId>/<username>', endpoint = 'user')
然后在您的Resource类中:
class UserAPI(Resource):
def get(self, userId, username=None):
pass
添加回答
举报
0/150
提交
取消