from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, World!"
@app.route('/welcome/<name>')
def welcome(name):
return render_template('welcome.html', name=name)
if __name__ == '__main__':
app.run(debug=True)
- 我们首先从flask模块中导入Flask类并创建一个应用实例。
- 然后我们使用@app.route装饰器为每个URL定义一个路由。每个路由都关联到一个视图函数,当那个URL被访问时,关联的视图函数将被执行。
- @app.route(‘/’)定义了应用的主页。当你访问 “http://localhost:5000/” 时,将会运行 home 视图函数,并返回 “Hello, World!”。
- @app.route(‘/welcome/’)定义了一个带参数的路由。部分是一个变量,它将被作为参数传递给 welcome 视图函数。welcome 视图函数然后将 name 参数传递给 render_template 函数,该函数将渲染一个HTML模板(在这个例子中,模板应该是 welcome.html 文件,需要存放在templates文件夹中)。
- if name == ‘main’: app.run(debug=True)这段代码的意思是,如果这个脚本被直接运行(而不是被导入),那么启动Flask开发服务器。debug=True意味着开启了调试模式,当你的代码发生错误时,Flask会在浏览器中显示一个详细的错误报告。
补充
render_template函数用于渲染一个Jinja2模板。Jinja2是一个Python模板引擎,用于生成HTML或其他标记语言。在Flask中,模板文件默认存放在应用根目录下的templates文件夹中。
这里是一个可能的welcome.html模板文件的例子:
<!doctype html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome, {{ name }}!</h1>
</body>
</html>
在这个模板中,{{ name }}是一个模板变量,它将被Jinja2替换为传递给render_template函数的name参数的值。例如,如果你访问URL “http://localhost:5000/welcome/John”,那么name
参数的值将为’John’,并且Jinja2将生成以下的HTML:文章来源:https://www.toymoban.com/news/detail-607540.html
<!doctype html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome, John!</h1>
</body>
</html>
这个生成的HTML然后将被作为HTTP响应的体发送给客户端。文章来源地址https://www.toymoban.com/news/detail-607540.html
到了这里,关于flask框架的第一个例子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!