帮助、资源和提示

我们尽最大努力使 PY4WEB 简单干净。但你知道,现代网络编程是一项艰巨的任务。它需要一个开放的心态,能够频繁地(而不会丢失!)从 python 跳到 HTML、javascript 和 css,甚至数据库管理。但不要害怕,在阅读这本手册时,我们将与您并肩作战。我们还将向您展示许多其他有价值的资源。

资源

本手册

本手册是 py4web 的参考手册,可通过 https://py4web.com/_documentation/static/index.html 访问其在线版本,哪里你可以找到 PDF 和 EBOOK 的多语言版本。本手册用 RestructuredText 语法编写,用 Sphinx 生成。

Google group(中国大陆无法访问)

有一个专属的邮件列表托管在 Google Groups 上,访问链接:https://groups.google.com/g/py4web。这是开发者和普通用户讨论的主要渠道。遇到任何问题,这是寻找提示或解决方案的合适去处。

Discord server(中国大陆无法访问)

如需快速问答或交流,您还可以使用专为 py4web 设立的免费的 Discord server dedicated to py4web 。通常可以在该频道看到许多 py4web 开发者在线互动。

教程和视频

有许多教程和视频可供选择。以下是其中一些:

  • 由 Luca de Alfaro 建立的网站 Learn py4web (里面有很多优秀的培训视频)

  • UC Santa Cruz 上的免费视频资源 course 2020 by Luca de Alfaro (中国大陆无法访问)

  • Andrew Gavgavian 制作的 py4web blog app 它使用 py4web 复制了著名的 Corey Schafer 的关于在 Django 中创建博客应用程序的系列教程(中国大陆无法访问)

  • Jim Steil 建立的演示应用程序 South Breeze Enterprises 。它是围绕 Microsoft Northwind 数据库的结构构建的,但已转换为 SQLite。您可以在 这里 在线查看最终结果

  • Alan Etkin 的西班牙语 py4web blog ,其中涵盖了从框架开始的基础知识和示例。它被认为是一种面向用户的资源,旨在提供完整的 web 开发课程

GitHub 上的资源

最后但同样重要的是,py4web 是开源的,具有 BSD v3 许可证,托管在 GitHub 上 https://github.com/web2py/py4web。这意味着你可以自己阅读、研究和实验它的所有内部细节。

提示和技巧

在开始学习 py4web 之前,本节专门用来介绍一些有有用的提示、建议和技巧。

先决条件

为了理解 py4web ,你至少需要一些基本的 python 知识。网络上有许多书籍、课程和教程可供选择——选择最适合你的。特别是 python 的装饰器(decorator),是理解任何 python web 框架的里程碑(重要概念),你必须完全理解它。

一个现代化的 Python 工作环境

在接下来的章节中,您将开始在计算机上编码。如果你打算高效安全地使用 python,我们建议你安装一个现代化的 python 工作环境。即使是运行简单的示例和进行小实验,我们也强烈建议使用集成开发环境(IDE)。这将使您的编程体验更好,允许语法检查、链接 和可视化调试。如今,主要有两种免费和多平台的选择:微软开发的 Visual Studio Code(又名 VS Code )和 JetBrains 开发的 PyCharm

当您要开始处理更复杂的程序并需要可靠性时,我们还建议:

  • 使用虚拟环境(也称为 virtualenv ,请参阅 这里 了解介绍)。在复杂的工作环境中,这将避免与其他 python 程序和模块混淆。

  • 使用 git 来跟踪程序的更改,并将更改保存在安全的在线位置(国外的 GitHub、GitLat 、 Bitbucket 或是 中国大陆的 Gitee)

  • 使用带语法高亮的编辑器,我们强烈推荐 Visual Studio Code (VS Code) 或 PyCharm。

用 VS Code 调试 py4web 开发的应用

在 VS Code 中运行和调试 py4web 开发的应用非常简单。

如果你已经从源代码安装了 py4web,你只需要用 VS Code 打开 py4web 的主文件夹(不是 apps 文件夹!)并以下配置添加到 VS Code 的 launch.json 配置文件中 :

"args": ["run", "apps"],
"program": "your_full_path_to_py4web.py",

请注意,如果您使用的是 Windows,则 “your_full_path_to_py4web.py” 参数必须仅使用正斜杠编写,如 “C:/Users/your_name/py4web/py4web.py”

如果你已经从 pip 安装了 py4web ,你需要在将 launch.json 文件里设置为将 py4web 作为模块运行

{
  "name": "py4web apps",
  "type": "debugpy",
  "request": "launch",
  "module": "py4web",
  "args": ["run", "apps", "-D", "--watch", "lazy"]
}

调整 args 以匹配您的应用文件夹。例如,如果你在 VS Code 中打开 apps 文件夹本身,就将 apps 替换为 .

小技巧

在这两种情况下,如果你得到 gevent 错误,你还必须在 launch.json 配置文件中添加 "gevent": true

使用 PyCharm 调试 py4web

在 PyCharm 中,若遇到 gevent 相关错误,需启用 “Settings | Build, Execution, Deployment | Python Debugger | Gevent compatible”(即 “设置 | 构建、执行、部署 | Python 调试器 | 兼容 Gevent” )选项。

如何贡献

我们需要大家的帮助:支持我们的努力!你可以加入谷歌小组,尝试回答其他人的问题,使用 GitHub 仓库提交 bug 或创建 pull 请求。

如果您想更正和扩展本手册,甚至将其翻译成新的外语,您可以直接在 GitHub 上的 specific README 上阅读所有需要的信息。

这真的很简单!只要换一下在 /doc 文件夹中的 .RST 文件,并在 GitHub 存储库上 https://github.com/web2py/py4web 创建 Pull 请求 -- 你甚至可以在浏览器中完成。一旦 PR 被接受,您的更改将写入主分支,并在分支的下一代输出中反映在网页 /pdf/epub 上。