我有一个我希望以下列方式构建的URL字符串:
http://something.com/mainsite/key1/key2/key3/keyn
如何在我的URL映射中生成类似这样的内容,其中n是变量号?
我如何获得这些钥匙?
谢谢
有两种方法可以做到这一点:
只需使用path路线转换器:
@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
Run Code Online (Sandbox Code Playgroud)注册您自己的自定义路由转换器(有关完整详细信息,请参阅Werkzeug的文档):
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
Run Code Online (Sandbox Code Playgroud)
你可以这样使用:
@app.route("/mainsite/<varargs:args>")
def api(args):
# args here is the list of path segments
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2503 次 |
| 最近记录: |