iJa*_*ade 11 python routes flask
这是我的python代码的一部分:
@app.route("/<int:param>/")
def go_to(param):
return param
Run Code Online (Sandbox Code Playgroud)
上面的函数路由一个url,例如www.example.com/12这个函数.
如何声明参数规则以将以整数结尾的URL重定向www.example.com/and/boy/12到此函数?
我正在使用Flask框架.
Joh*_*die 14
您只需要在参数中添加"和/ boy":
@app.route("/and/boy/<int:param>/")
def go_to(param):
return param
Run Code Online (Sandbox Code Playgroud)
你需要Werkzeug routing.
完整代码:
from flask import Flask
from werkzeug.routing import BaseConverter
app = Flask(__name__)
class RegexConverter(BaseConverter):
def __init__(self, url_map, *items):
super(RegexConverter, self).__init__(url_map)
self.regex = items[0]
app.url_map.converters['regex'] = RegexConverter
# To get all URLs ending with "/number"
@app.route("/<regex('.*\/([0-9]+)'):param>/")
def go_to_one(param):
return param.split("/")[-1]
# To get all URLs ending with a number
@app.route("/<regex('.*([0-9]+)'):param>/")
def go_to_one(param):
return param.split("/")[-1]
# To get all URLs without a number
@app.route("/<regex('[^0-9]+'):param>/")
def go_to_two(param):
return param
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10690 次 |
| 最近记录: |