Python 如何在添加url规则中使用参数
我试图创建一个脚本,基本上从现有python类/方法创建所有flask端点 我遇到的一个方法是app.add\u url\u规则 但这对我不起作用Python 如何在添加url规则中使用参数,python,flask,Python,Flask,我试图创建一个脚本,基本上从现有python类/方法创建所有flask端点 我遇到的一个方法是app.add\u url\u规则 但这对我不起作用 @app.route(“/username/”) def用户状态(用户名): 打印(“用户已登录”) app.add_url_规则('/username/','userstatus',默认值={“username”:None})** 上面的一个正在工作,但是如果我删除@app.route('/username/')并尝试使用添加url\u规则,则它
@app.route(“/username/”)
def用户状态(用户名):
打印(“用户已登录”)
app.add_url_规则('/username/','userstatus',默认值={“username”:None})**
上面的一个正在工作,但是如果我删除
@app.route('/username/')
并尝试使用添加url\u规则
,则它不工作。您必须提供规则、端点和视图函数以添加url\u规则
():
并在不同的shell(或浏览器)中发送查询:
然后,您可以使用现有的python文件,为要动态创建的端点调用
add\u url\u rule
。您不能删除@app.route…
,句号。那么有没有办法使用现有的python文件及其函数并动态生成所有端点呢。。。这就是你正在做的…所以我有一个python类用户。我想将其所有方法更改为端点,而不更改此Users类中的任何内容。所以我想在另一个python类中访问Users类的所有方法并使用app.add_url_rule('/username/','userstatus',defaults={“username”:None},还有其他具有许多方法的类,端点生成应该对所有人都是通用的。所以我不想添加“@app.route”在每个方法的每个类中。有没有办法做到这一点?我已经能够提取类及其方法+参数了
from flask import Flask
app = Flask(__name__)
def userstatus(username):
return f'Hello {username}!'
app.add_url_rule('/username/<username>', '/username/<username>', userstatus)
(venv) $ FLASK_APP=url_rule.py flask run
* Serving Flask app "url_rule.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
$ curl http://localhost:5000/username/alice && echo
Hello alice!
$ curl http://localhost:5000/username/bob && echo
Hello bob!