帮助 FastAPI - 获取帮助¶
你喜欢 FastAPI 吗?
想帮助 FastAPI、其他用户和作者吗?
或者你想获取 FastAPI 的帮助?
有很多非常简单的方式可以帮忙(有些只需点一两下)。
同样,也有多种途径可以获得帮助。
订阅新闻邮件¶
你可以订阅(不频繁的)FastAPI and friends 新闻邮件,获取如下更新:
- FastAPI 及其小伙伴的新闻 🚀
- 指南 📝
- 功能 ✨
- 破坏性更改 🚨
- 使用技巧 ✅
在 X (Twitter) 上关注 FastAPI¶
在 X (Twitter) 上关注 @fastapi 获取 FastAPI 的最新动态。🐦
在 GitHub 上为 FastAPI 加星¶
你可以在 GitHub 上为 FastAPI 点亮「星标」(点击右上角的星形按钮):https://github.com/fastapi/fastapi。⭐️
点亮星标后,其他用户更容易发现它,并看到它已经对许多人有帮助。
关注 GitHub 资源库的版本发布¶
你可以在 GitHub 上「关注」FastAPI(点击右上角的「watch」按钮):https://github.com/fastapi/fastapi。👀
在那里你可以选择「Releases only」。
这样做之后,每当 FastAPI 发布新版本(包含修复和新功能),你都会收到通知(邮件)。
联系作者¶
你可以联系我(Sebastián Ramírez / tiangolo),作者本人。
你可以:
- 在 GitHub 上关注我。
- 了解我创建的其他开源项目,也许对你有帮助。
- 关注我何时创建新的开源项目。
- 关注我在 X (Twitter) 或 Mastodon。
- 告诉我你如何使用 FastAPI(我很喜欢听这些)。
- 获取我发布公告或新工具的消息。
- 你也可以关注 @fastapi on X (Twitter)(独立账号)。
- 在 LinkedIn 上关注我。
- 获取我发布公告或新工具的消息(不过我更常用 X (Twitter) 🤷♂)。
- 阅读我在 Dev.to 或 Medium 上的文章(或关注我)。
- 阅读我的其他想法、文章,以及我创建的工具。
- 关注我,这样当我发布新文章时你会第一时间看到。
发推谈谈 FastAPI¶
发推谈谈 FastAPI,告诉我和大家你为什么喜欢它。🎉
我很高兴听到 FastAPI 的使用情况、你喜欢它的哪些点、你在哪个项目/公司使用它,等等。
为 FastAPI 投票¶
在 GitHub 上帮别人解答问题¶
你可以尝试在以下地方帮助他人解答问题:
很多情况下,你也许已经知道这些问题的答案了。🤓
如果你帮助了很多人解答问题,你会成为官方的 FastAPI 专家。🎉
只要记住,最重要的一点是:尽量友善。人们带着挫败感而来,很多时候他们的提问方式并不理想,但请尽你所能地友好对待。🤗
我们的目标是让 FastAPI 社区友好且包容。同时,也不要接受对他人的霸凌或不尊重。我们需要彼此照顾。
以下是如何帮助他人解答问题(在 Discussions 或 Issues 中):
理解问题¶
-
看看你是否能理解提问者的目的和使用场景。
-
然后检查问题(绝大多数是提问)是否清晰。
-
很多时候,问题是围绕提问者想象中的解决方案,但可能有更好的方案。如果你更好地理解了问题和使用场景,你就可能提出更合适的替代方案。
-
如果你没能理解问题,请请求更多细节。
复现问题¶
在大多数情况下与问题相关的都是提问者的原始代码。
很多时候他们只会粘贴一小段代码,但这不足以复现问题。
-
你可以请他们提供一个可最小复现的示例,你可以复制粘贴并在本地运行,看到与他们相同的错误或行为,或者更好地理解他们的用例。
-
如果你非常热心,你也可以尝试仅根据问题描述自己构造一个示例。不过要记住,这可能会花很多时间,通常先请他们澄清问题会更好。
提出解决方案¶
-
在能够理解问题之后,你可以给出一个可能的答案。
-
很多情况下,更好的是去理解他们底层的问题或场景,因为可能存在比他们尝试的方法更好的解决方式。
请求关闭问题¶
如果他们回复了,很有可能你已经解决了他们的问题,恭喜,你是英雄!🦸
- 现在,如果问题已解决,你可以请他们:
- 在 GitHub Discussions 中:将你的评论标记为答案。
- 在 GitHub Issues 中:关闭该 issue。
关注 GitHub 资源库¶
你可以在 GitHub 上「关注」FastAPI(点击右上角的「watch」按钮):https://github.com/fastapi/fastapi。👀
如果你选择「Watching」而非「Releases only」,当有人创建新的 issue 或问题时你会收到通知。你也可以指定只通知新 issues、discussions、PR 等。
然后你就可以尝试帮助他们解决这些问题。
提问¶
你可以在 GitHub 资源库中创建一个新问题(Question),例如:
- 提出一个问题或关于某个问题的求助。
- 建议一个新的功能。
注意:如果你这么做了,我也会请你去帮助其他人。😉
审阅 Pull Request¶
你可以帮我审阅他人的 Pull Request。
再次提醒,请尽力保持友善。🤗
下面是需要注意的点,以及如何审阅一个 Pull Request:
理解问题¶
-
首先,确保你理解这个 PR 要解决的问题。它可能在 GitHub Discussion 或 issue 中有更长的讨论。
-
也有很大可能这个 PR 实际上并不需要,因为问题可以用不同方式解决。这种情况下你可以提出或询问该方案。
不用过分担心风格¶
-
不用太在意提交信息风格等,我会在合并时 squash 并手动调整提交信息。
-
也不用过分担心代码风格规则,已经有自动化工具在检查。
如果还有其他风格或一致性需求,我会直接提出,或者我会在其上追加提交做必要修改。
检查代码¶
-
检查并阅读代码,看看是否说得通,在本地运行并确认它确实解决了问题。
-
然后评论说明你已经这样做了,这样我就知道你确实检查过。
信息
不幸的是,我不能仅仅信任那些有很多人批准的 PR。
多次发生过这样的情况:PR 有 3、5 个甚至更多的批准,可能是因为描述很吸引人,但当我检查时,它们实际上是坏的、有 bug,或者并没有解决它声称要解决的问题。😅
所以,真正重要的是你确实读过并运行过代码,并在评论里告诉我你做过这些。🤓
- 如果 PR 可以在某些方面简化,你可以提出建议,但没必要过分挑剔,很多东西比较主观(我也会有我自己的看法 🙈),因此尽量关注关键点更好。
测试¶
-
帮我检查 PR 是否包含测试。
-
确认在合并 PR 之前,测试会失败。🚨
-
然后确认合并 PR 之后,测试能通过。✅
-
很多 PR 没有测试,你可以提醒他们添加测试,或者你甚至可以自己建议一些测试。这是最耗时的部分之一,你能在这方面帮上大忙。
-
然后也请评论你做了哪些验证,这样我就知道你检查过。🤓
创建 Pull Request¶
你可以通过 Pull Request 为源代码做贡献,例如:
- 修正文档中的一个错别字。
- 通过编辑这个文件分享你创建或发现的关于 FastAPI 的文章、视频或播客。
- 请确保把你的链接添加到相应区块的开头。
- 帮助把文档翻译成你的语言。
- 你也可以审阅他人创建的翻译。
- 提议新增文档章节。
- 修复现有 issue/bug。
- 记得添加测试。
- 添加新功能。
- 记得添加测试。
- 如果相关,记得补充文档。
帮忙维护 FastAPI¶
帮我一起维护 FastAPI 吧!🤓
有很多工作要做,其中大部分其实你都能做。
你现在就能做的主要事情有:
- 在 GitHub 上帮别人解答问题(见上面的章节)。
- 审阅 Pull Request(见上面的章节)。
这两项工作是最耗时的。这也是维护 FastAPI 的主要工作。
如果你能在这方面帮我,你就是在帮我维护 FastAPI,并确保它更快更好地前进。🚀
加入聊天¶
加入 👥 Discord 聊天服务器 👥,和 FastAPI 社区的小伙伴们一起交流。
别在聊天里提问¶
请记住,聊天更偏向“自由交流”,很容易提出过于笼统、难以回答的问题,因此你可能收不到解答。
在 GitHub 中,模板会引导你写出恰当的问题,从而更容易获得好的回答,甚至在提问之前就能自己解决。而且在 GitHub 里,我能尽量确保最终回复每个问题,即使这需要一些时间。对聊天系统来说,我个人做不到这一点。😅
聊天系统中的对话也不像 GitHub 那样容易搜索,因此问答可能在聊天中淹没。而且只有在 GitHub 中的问答才会计入成为 FastAPI 专家 的贡献,所以你在 GitHub 上更可能获得关注。
另一方面,聊天系统里有成千上万的用户,你几乎随时都能在那里找到聊得来的人。😄
赞助作者¶
如果你的产品/公司依赖或与 FastAPI 相关,并且你想触达它的用户,你可以通过 GitHub sponsors 赞助作者(我)。根据赞助层级,你还可能获得一些额外福利,比如在文档中展示徽章。🎁
谢谢!🚀