python – Flask:带有可变参数的URL
发布时间:2020-12-20 11:29:35 所属栏目:Python 来源:网络整理
导读:我有一个我想以下面的方式构建的URL字符串: http://something.com/mainsite/key1/key2/key3/keyn 如何在我的URL映射中生成类似这样的内容,其中n是变量号? 我如何获得这些钥匙? 谢谢 解决方法 有两种方法可以做到这一点: 只需使用 path route converter:
我有一个我想以下面的方式构建的URL字符串:
http://something.com/mainsite/key1/key2/key3/keyn 如何在我的URL映射中生成类似这样的内容,其中n是变量号? 我如何获得这些钥匙? 谢谢 解决方法
有两种方法可以做到这一点:
>只需使用 @app.route("/mainsite/<path:varargs>") def api(varargs=None): # for mainsite/key1/key2/key3/keyn # `varargs` is a string contain the above varargs = varargs.split("/") # And now it is a list of strings >注册您自己的custom route converter(有关详细信息,请参阅Werkzeug’s documentation): from werkzeug.routing import BaseConverter,ValidationError class PathVarArgsConverter(BaseConverter): """Convert the remaining path segments to a list""" def __init__(self,url_map): super(PathVarArgsConverter,self).__init__(url_map) self.regex = "(?:.*)" def to_python(self,value): return value.split(u"/") def to_url(self,value): return u"/".join(value) app.url_map.converters['varargs'] = PathVarArgsConverter 你可以这样使用: @app.route("/mainsite/<varargs:args>") def api(args): # args here is the list of path segments (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |