猿问

Flask可以有可选的URL参数吗?

是否可以直接声明Flask URL可选参数?


目前,我正在按照以下方式进行:


@user.route('/<userId>')

@user.route('/<userId>/<username>')

def show(userId, username=None):

    pass

我如何直接说这username是可选的?


婷婷同学_
浏览 1346回答 3
3回答

森栏

另一种方法是写@user.route('/<user_id>', defaults={'username': None})@user.route('/<user_id>/<username>')def show(user_id, username):&nbsp; &nbsp; pass但是我想您想编写一条路由并将其标记username为可选?如果是这样,我认为不可能。

HUH函数

几乎与几个月前完成的Audrius一样,但是您可能会发现函数头中的默认值(使用python的方式)更具可读性:@app.route('/<user_id>')@app.route('/<user_id>/<username>')def show(user_id, username='Anonymous'):&nbsp; &nbsp; return user_id + ':' + username

动漫人物

如果您像我一样使用Flask-Restful,也可以这样:api.add_resource(UserAPI, '/<userId>', '/<userId>/<username>', endpoint = 'user')然后在您的Resource类中:class UserAPI(Resource):&nbsp; def get(self, userId, username=None):&nbsp; &nbsp; pass
随时随地看视频慕课网APP

相关分类

Python
我要回答