如何使用Python的Flask和谷歌app Engine来构建一个web app

2020-07-27 15:02:03 浏览数 (1)

前言

如果您想在很短的时间内使用Python构建web应用程序,那么Flask是一个非常好的选择。Flask是一个小而强大的web框架。它也很容易学习和简单的代码。

在本教程中,我将向您展示如何使用API构建一个包含一些动态内容的简单天气应用程序。本教程是初学者的一个很好的起点。您将学习如何从api构建动态内容并将其部署到谷歌云上。

最终产品可以在这里看到:

http://weatherv2-220201.appspot.com/

要创建天气应用程序,我们需要从开放的天气图请求一个API密钥。免费版允许每分钟60次通话,这对这个应用程序来说已经足够了

我们将采取的步骤如下:

第一步:安装Flask

第二步:构建应用程序结构

第三步:使用API请求创建主应用程序代码

第四步:使用Jinja、HTML和CSS为应用程序创建2个页面(主页面和结果页面)

第五步:在本地电脑上部署和测试

第六步:部署在谷歌云上。

1、安装Flask

我们将使用一个虚拟环境来构建这个项目。但是我们为什么需要一个呢?

使用虚拟环境,您可以为每个项目创建一个特定的本地环境。您可以选择要使用的库,而不会影响您的电脑环境。当您在笔记本电脑上编写更多项目时,每个项目将需要不同的库。对于每个项目使用不同的虚拟环境,您的系统和项目之间或项目之间就不会发生冲突。

在WeatherApp文件夹中创建一个requirements.txt文件,其中包括Flask和其他我们需要的库,然后保存文件。需求文件是跟踪您在项目中使用的库的好工具。

代码语言:javascript复制
Flask==0.12.3
click==6.7
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
pytz==2017.2
requests==2.13.0
Werkzeug==0.12.1

安装需求及其依赖项。你现在准备好建造你的WeatherApp了。这是创建本地环境的最后一步。

代码语言:javascript复制
pip install -r requirements.txt

2、构造App结构

创建两个Python文件(主文件)。和两个文件夹(静态与子文件夹img,模板):

3、使用API请求(后端)创建主应用程序代码

设置好结构后,就可以开始编写应用程序的后端代码了。Flask的“Hello world”示例只使用了一个Python文件。本教程使用两个文件帮助您熟悉如何将函数导入主应用程序。

py是将用户路由到主页和结果页面的服务器。py文件创建一个带有API的函数,该函数根据所选城市检索天气数据。该函数填充结果页面.

下一步是在开放天气图上申请一个免费的API密钥:

4、使用Jinja、HTML和CSS创建页面(前端)

这一步是关于创建用户将看到的内容。

HTML页面weather和结果是后端main.py将路由到的页面,并给出可视化结构。CSS文件将带来最后的效果。本教程中没有Javascript(前端是纯HTML和CSS)。

这是我第一次使用Jinja2模板库来填充HTML文件。令我惊讶的是,它是多么容易带来动态图像或使用功能。绝对是一个很棒的模板引擎。

5、本地部署和测试

在此阶段,您已经设置了环境、结构、后端和前端。剩下的唯一事情就是启动你的应用程序并在本地主机上享受它。

使用您的Web浏览器(Chrome、Mozilla等)访问cmd上建议的localhost链接。你应该会看到你的新天气应用程序在你本地的笔记本上:)

6、部署在谷歌云上

最后一步是与全世界分享你的应用程序。需要注意的是,有很多使用Flask构建的web应用程序的提供商。谷歌云只是众多云中的一个。这篇文章不包括其他的一些,比如AWS, Azure, Heroku…

要在谷歌云上部署您的应用程序,您需要1)安装SDK, 2)创建一个新项目,3)创建3个本地文件,4)在线部署和测试。

按照谷歌的说明安装SDK连接到您的谷歌云账户,创建一个新项目并保存项目id(稍等片刻,直到供应了新项目)

0 人点赞