Flask 应用程序路由
我们将学习如何在 Flask 中创建路由,以及在 Flask 中调用路由时如何获得响应。
使用 Flask 中的 app.route()
装饰器创建页面
我们可以路由的方式是通过使用装饰器,那么装饰器是什么?好吧,每当我们看到一个带有类似 @app.route('/')
的函数的 @
符号时,它就是一个装饰器。
这是一种包装现有 Python 函数并修改其行为的方法。我们将 URL 路由或映射到返回值,并且每当用户请求 URL 时,服务器的响应将是任何函数的返回值。
我们将向你展示一些更有意义的示例,因此让我们创建一条路线。
@app.route('/fund-api')
现在我们将定义一个名为 Fund_Func()
的函数,因此每当用户访问通常是我们的 URL 的页面时,例如 /fund-api
,该函数将返回包含在该函数下的所有内容。我们将返回 HTML <h2>
标签。
def Fund_Func():
return '<h2>Your fund is returned</h2>'
当我们保存并运行这个服务器时,我们可以访问我们的索引页面并继续在 URL 中写入 fund-api
,这意味着我们请求服务器提供 Fund_Func
页面并检查请求是否有效.如果路由有效,那么它将运行该路由中存在的函数。
使用 render_template()
包含 HTML 有更好的方法。我们要做的另一件事是在路由中使用变量。
假设我们正在设置我们的网页,在这个网页中,我们有一个配置文件部分,我们想知道哪个用户正在使用它的配置文件。
我们需要加入该变量以成为此 URL 的一部分,并且根据该变量,内容会发生变化。现在我们要创建一个新路由,在路由内部,我们将添加一个名为 candidate_name
的变量并将其放在尖括号之间。
现在我们将在路由中使用的函数中传递一个参数,然后我们可以返回这个变量以及我们想要在屏幕上显示的任何内容。我们将从 URL 传递这个变量。
@app.route('/fund-user-api/<candidate_name>')
def Fund_Func_Var(candidate_name):
return '<h2>Hi %s,your fund is returned</h2>'%candidate_name
当我们通过 URL 传递变量值时,它将返回带有我们传递的参数的响应,如果我们不传递参数值,它将引发错误,因为这也是 URL 的一部分。
完整的 Python 代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'The main page'
@app.route('/fund-api')
def Fund_Func():
return '<h2>Your fund is returned</h2>'
@app.route('/fund-user-api/<candidate_name>')
def Fund_Func_Var(candidate_name):
return '<h2>Hi %s,your fund is returned</h2>'%candidate_name
if __name__=='__main__':
app.run(debug=True)
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn