我想创建一个网络应用程序,但我不知道从哪里开始
我尝试使用 Flask 和 FastAPI,但我无法理解 HTML/JS/CSS,
我想快速将创建的Web应用程序发布到互联网上或在公司内部共享演示。
在本栏目中,我们将使用 Streamlit 创建 Web 应用程序,而不使用任何 HTML、JS 或 CSS。 除了简单介绍如何使用 Streamlit 之外,我们还将介绍 Web 应用程序如何工作以及如何使用 TypeHint 进行编码以避免错误。
没有构建 Web 应用程序经验的新工程师
会使用Python但不擅长HTML/JS/CSS的Pythonista
开发团队希望在短时间内创建一个用于测试和演示的 Web 应用程序,而无需配置详细的 UI 设置。
我们认为以下三个要素对于解决目标受众的问题是必要的。
Web应用程序的基础知识
质量代码可以参考
仅使用Python实现,无需编写任何HTML/JS/CSS
目标受众是新手工程师,他们可能不太了解 Web 应用程序的工作原理。 (当我还是学生时,我也决定尝试学习Django,但在会话机制和逻辑模型关系方面遇到了麻烦。)
本栏目还提供了有关Web应用程序基本机制的补充和参考信息,使您更容易加深对实现和基础知识的理解。 编写代码很有趣,但我喜欢清楚自己正在实现的内容,这样编写代码本身就不会成为目的。
Web应用程序的组件分为两层:前端和后端,三层:表示层(浏览器)、应用层(AP服务器)和数据层(DB),本栏目重点关注前端。 是。 不过,由于它是根据后端的响应来设计和实现的,因此也涵盖了后端的一些知识。
本栏目实现的是Web应用程序,但我们希望确保代码的质量,以便您可以将其用作参考。 我们意识到利用 TypeHint 可以从静态分析和自动完成中受益,并将对象和方法划分为适当的粒度。
这里需要注意的重要一点是,我们不是在谈论“应用程序质量”,而是“代码质量”。 本文档不包含测试代码。 因此,并不能说应用程序的质量有保证。 作为 FutureWork 的一部分,我们希望在未来致力于实现测试代码。
使用 Flask 等框架创建 Web 应用程序时,可以利用模板引擎 Jinja 动态生成 HTML,或者引入 Bootstrap 来利用预定义的 UI 组件。
最近,还出现了一个名为 PyScript 的框架,可以在 HTML 中运行 Python。 我真的很期待看到未来我能用 PyScript 做些什么。 然而,这些方法需要编写 HTML/JS/CSS。
我认为除了一线工程师之外,没有人需要学习HTML/JS/CSS。 另一方面,有些情况您可能希望避免,例如造成学习挫折或演示应用程序开发延迟。 我认为这正是目标读者的情况。
因此,我们将介绍一个使用Streamlit仅用Python实现而无需编写任何HTML/JS/CSS的Web应用程序。 通过有限的 UI 选项,您可以专注于 Web 应用程序的工作方式。 另一方面,由于无法进行详细的定制,并且不适合生产使用,因此我希望您将其视为用于学习、验证和演示目的的应用程序。
本章节创建的Web应用程序是“商品展示”(以下简称WTS)。 它集成了一般电子商务网站的功能,例如登录、查看产品和下订单。 请注意,这是一个仅用于学习目的的演示应用程序,因此您实际上无法进行货币交易或购买。