介绍
开发者有这些苦恼的问题吗?
我想创建一个网络应用程序,但我不知道从哪里开始
我尝试使用 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应用程序的基础知识
目标受众是新手工程师,他们可能不太了解 Web 应用程序的工作原理。 (当我还是学生时,我也决定尝试学习Django,但在会话机制和逻辑模型关系方面遇到了麻烦。)
本栏目还提供了有关Web应用程序基本机制的补充和参考信息,使您更容易加深对实现和基础知识的理解。 编写代码很有趣,但我喜欢清楚自己正在实现的内容,这样编写代码本身就不会成为目的。
Web应用程序的组件分为两层:前端和后端,三层:表示层(浏览器)、应用层(AP服务器)和数据层(DB),本栏目重点关注前端。 是。 不过,由于它是根据后端的响应来设计和实现的,因此也涵盖了后端的一些知识。
质量代码可以参考
本栏目实现的是Web应用程序,但我们希望确保代码的质量,以便您可以将其用作参考。 我们意识到利用 TypeHint 可以从静态分析和自动完成中受益,并将对象和方法划分为适当的粒度。
这里需要注意的重要一点是,我们不是在谈论“应用程序质量”,而是“代码质量”。 本文档不包含测试代码。 因此,并不能说应用程序的质量有保证。 作为 FutureWork 的一部分,我们希望在未来致力于实现测试代码。
仅使用Python实现,无需编写任何HTML/JS/CSS
使用 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)。 它集成了一般电子商务网站的功能,例如登录、查看产品和下订单。 请注意,这是一个仅用于学习目的的演示应用程序,因此您实际上无法进行货币交易或购买。