下面是Python Flask框架第一个Flask程序的完整攻略。
第一步:安装Flask
首先,我们需要在本地安装Flask。安装Flask的方式很简单,只需要在命令行中输入以下命令即可:
pip install Flask
第二步:创建Flask应用
接下来,我们需要在本地创建一个Flask应用。在你选择的文件夹中创建一个名为“app.py”的文件,并用以下代码填充它:
from flask import Flask
# 创建一个Flask应用
app = Flask(__name__)
# 首页路由
@app.route('/')
def index():
return '欢迎来到我的网站!'
# 关于页路由
@app.route('/about')
def about():
return '关于我们'
# 启动Flask应用
if __name__ == '__main__':
app.run()
在上面的代码中,我们首先导入了Flask
类。然后,我们创建一个名为“app”的Flask
应用对象,并定义了两个路由:主页路由“/”和关于页路由“/about”。在每个路由的函数中,我们只是返回了一些字符串。
最后,我们通过app.run()
方法启动了我们的Flask应用。
第三步:运行应用
打开命令行,进入到我们创建的app.py
文件所在的文件夹中。然后,输入以下命令:
python app.py
这将启动我们的Flask应用,并在本地主机上的默认端口(5000)上运行。在浏览器中输入http://localhost:5000/
,即可访问我们的主页。在浏览器中输入http://localhost:5000/about
,即可访问我们的关于页。
这是第一个Flask程序的基本过程。接下来,我们将为您提供两个示例,以更好地了解Flask的工作原理。
示例一:向主页添加动态内容
让我们在主页中添加动态内容。我们可以使用Python的字符串格式化功能,将时间戳添加到页面中。以下是修改后的代码:
from flask import Flask
import time
# 创建一个Flask应用
app = Flask(__name__)
# 首页路由
@app.route('/')
def index():
now = time.strftime("%c") # 当前时间
return '欢迎来到我的网站!现在的时间是:%s' % now
# 关于页路由
@app.route('/about')
def about():
return '关于我们'
# 启动Flask应用
if __name__ == '__main__':
app.run()
现在,当我们访问主页时,将显示包含当前时间的字符串。
示例二:使用模板渲染网页
使用字符串返回HTML很不方便,因此让我们使用Flask的模板引擎来渲染网页。首先,我们需要在文件夹中创建一个名为“templates”的文件夹。在templates
文件夹中,创建一个名为“index.html”的文件,并用以下代码填充它:
<!DOCTYPE html>
<html>
<head>
<title>我的网站</title>
</head>
<body>
<h1>欢迎来到我的网站!</h1>
<p>现在的时间是:{{ now }}</p>
</body>
</html>
在上面的模板中,我们将使用Flask从Python代码中注入“now”变量。我们将在稍后的Python代码中进行实现。
现在我们需要修改我们的Python代码,以使用模板渲染主页。以下是修改后的代码:
from flask import Flask, render_template
import time
# 创建一个Flask应用
app = Flask(__name__)
# 首页路由
@app.route('/')
def index():
now = time.strftime("%c") # 当前时间
return render_template('index.html', now=now)
# 关于页路由
@app.route('/about')
def about():
return '关于我们'
# 启动Flask应用
if __name__ == '__main__':
app.run()
在上面的代码中,我们使用了flask.render_template
函数来将我们的模板渲染为HTML页面。我们还将时间戳作为“now”变量传递给模板,这样我们就可以在网页中使用它了。
现在再次运行应用,访问我们的主页。您应该看到类似以下内容的内容:
欢迎来到我的网站!
现在的时间是:Wed Jul 14 14:15:19 2021
你已经成功地创建了一个拥有动态内容和模板渲染功能的Flask应用!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pyhon Flask框架:第一个Flask程序 - Python技术站