from flask import Flask
app = Flask(__name__)
@app.route("/")
@app.route("/hello")
def hello_world():
return "Hello, World!"
@app.route("/test")
def search():
return "Hello"
if __name__ == "__main__":
app.run()
但是当我添加此代码时
@app.route("/test/<search_query>")
def search(search_query):
return search_query
它给出了以下错误
Traceback (most recent call last): File "app.py", line 19, in def search(search_query): File "C:\Users\khadush\AppData\Local\Programs\Python\Python38-32\lib\site-packages\flask\app.py", line 1315, in decorator self.add_url_rule(rule, endpoint, f, **options) File "C:\Users\khadush\AppData\Local\Programs\Python\Python38-32\lib\site-packages\flask\app.py", line 98, in wrapper_func return f(self, *args, **kwargs) File "C:\Users\khadush\AppData\Local\Programs\Python\Python38-32\lib\site-packages\flask\app.py", line 1282, in add_url_rule raise AssertionError( AssertionError: View function mapping is overwriting an existing endpoint function: search
您的代码包含一些错误,这就是为什么它会给您一个错误。它与多重搜索功能无关,因为您没有它。我做了下面的更改,它成功了
您可以在此处进一步了解这些错误: What does if __name__ == "__main__": do?
希望这有帮助
正如错误中明确提到的那样
这意味着,已经有一个名为“搜索”的函数。我建议您更改函数名,如下所示:
请删除映射到/测试的旧搜索功能。 另请参阅AssertionError: View function mapping is overwriting an existing endpoint function: main
相关问题 更多 >
编程相关推荐