我想做一个类似于https://www.howmanypeopleareinspacerightnow.com/功能的网站,在那里我有一个网站信息显示,定期刷新显示流经城镇的河流的水流。我正在使用Beautiful Soup抓取数据,并希望创建一个网站,使用我的python处理的数据生成预先确定的网站内容(例如,“现在的水很高,它的流速为XXX/s”或“现在的水很低”)。你知道吗
据我所知,我可以创建一个托管在heroku上的Python应用程序,但是我必须在程序中创建一个GUI,对吗?如何将程序转换为html页面的信息源,而不必让用户运行程序?你知道吗
我觉得这是一个名字,但我的谷歌搜索到目前为止还没有发现任何东西:(
听起来你想建立一个动态SPA(单页应用程序)。你知道吗
您将希望和app server托管后端,后端将处理路由和提供动态内容(水流量)。你知道吗
然后需要一些前端代码来呈现一个漂亮的UI并显示后端提供的内容。你知道吗
听起来您想使用python(根据问号)。你知道吗
实现这一点的快速方法是创建一个python Flask应用程序。Flask将允许您构建应用程序服务器。此外,Flask还有一个“模板引擎”Jinja2,它允许您通过组合HTML和python对象来创建ui。你知道吗
例如:
创建一个名为
waterproject
和waterproject/templates/
的文件夹 然后创建2个文件,waterproject/app.py
和waterproject/templates/index.html
上面我们创建了两条路线。一个服务于主页,另一个服务于只返回水位的api端点。此端点将用于允许前端自动轮询后端的水位,而无需重新呈现(或刷新)整个页面。 另外,假设您的web scraper将水位保存在“/file/where/data/is”文件中/存储.txt'
然后创建.html文件(索引.html)以上路线呈现。你知道吗
注意这个html文件如何将
{{water_level}}
对象嵌入到html中。这不是正确的html,但是模板引擎允许我们有效地将应用服务器的python代码中的water_level
对象传递到html文档中。你知道吗另外,html页面中有一些javascript,可以每X分钟获取一次水位,并更新页面。因此,如果用户访问你的页面并停留10分钟,页面将自动刷新每分钟。你知道吗
要部署应用程序,请查看Flask的文档,这里有一些很好的选项和说明,包括Heroku的说明。 https://flask.palletsprojects.com/en/1.0.x/deploying/
*注意,我实际上没有运行此代码,但它应该给您一个很好的起点。 另外,将css、javascript和html组织在不同的文件中也是一种很好的做法,但是对于这样一个小的应用程序,为了保持简单,所有内容都显示在一个文件中。你知道吗
查看Flask,您可以通过python生成内容,并使用Flask轻松地显示内容。你知道吗
Django是用Python创建网页的常用方法—它有一个相当全面的tutorial,并将处理所有的后端内容。你仍然需要弄清楚托管;云服务(如AWS或Azure)可以很好地使用Django,或者你可以从自己的计算机托管。你知道吗
对于前端开发,您可以使用所见即所得(WYSIWYG)设计器,该设计器允许您拖放来创建页面。然后可以导出页面并将其用作Django中的模板。如果你的网站比较复杂,你需要学习一些基本的基于文本的HTML技巧。你知道吗
相关问题 更多 >
编程相关推荐