新来的贡献者,不知道该怎么办? 想要提供帮助但是不知道如何开始? 那这就是为你准备的部分。
开始并运行起来!
如果您是 Django 新的贡献者,那么 编写你的第一个 Django 贡献 教程将为您介绍这些工具和工作流程。
该页面包含有关您可以为 Django 做出贡献的更一般建议以及如何入手的信息。
如果你正在寻找关于代码贡献的细节参考,参见 贡献代码 文档。
从这些任务开始,去发现 Django 的开发过程。
如果一个 未审查的工单 报告了一个错误,请尝试验证并重现它。如果您可以重现它并且它似乎是有效的,写一条记录以表明你确认了该错误并接受该工单。确保该工单归档在正确的组件区域。即使你不去修复 bug 本身,你也可以写一个用于测试 bug 的行为的补丁。查看更多内容请点击 我能帮你怎么做分类?
这将帮助你熟悉代码库和流程。如果补丁需要文档或测试,请标记适当的标志。查看补丁所做的更改,并留意与较旧但仍受支持的 Python 版本不兼容的语法。运行测试 并确保它们通过。在可能和相关的情况下,尝试在 SQLite 以外的数据库上运行它们。留下评论和反馈!
通常情况下,代码库会在提交补丁和审阅补丁之间发生变化。确保它仍然干净地应用,并按预期运行。更新补丁既有用又重要!更多信息请参见代码 提交贡献 。
Django的文档很好,但它总是可以改进的。你发现打字错误了吗?你认为有什么需要澄清的吗?继续并建议一个文档修补程序!另请参阅指南 编写文档 。
Note
报告页 包含了许多有用的 Trac 查询链接,包括一些像上面建议的那样对分类工单和审查补丁有用的链接。
您编写的代码属于您或您的雇主。 如果您的贡献超过一至两行代码,则需要签署 CLA 。 有关更详尽的解释,请参阅 Contributor License Agreement FAQ”。
作为大型项目的新手,很容易感到沮丧。 这里有一些建议可以使你在 Django 上的工作更加有用、 有收获。
这应该是你关心的、熟悉的或想要学习的内容。你不必已经是你想从事领域的专家;通过持续对代码的贡献,你会成为专家。
Trac不是绝对的;上下文和名词一样重要。在阅读Trac时,你需要考虑到账户谁说了什么,什么时候说的。两年前对一个想法的支持并不意味着这个想法还会得到支持。您还需要注意哪些人没有发言--例如,如果一位有经验的贡献者最近没有参与讨论,那么这份工单可能就不需要Django支持。
在小问题上得到反馈比在大问题上得到反馈要容易得多。请参阅 easy pickings。
这意味着在您解决问题之前让其他人确认一个bug是真实的,并确保在您开始实现一个建议的特性之前有一个共识。
有时候,把你的观点向全世界发表,说“这个工单是正确的”或者“这个补丁需要工作”,这可能会让人害怕,但这是项目向前推进的唯一途径。广泛的Django社区的贡献最终会比任何一个人的贡献产生更大的影响。没有**你**我们做不到!
如果你真的不确定某个工单是否准备好了,不要将其标记为准备就绪。相反,留下评论,让别人知道你的想法。如果你基本确定,但还不完全确定,你也可以尝试在 Django Discord 服务器 的 #contributing-getting-started
频道中询问,看看是否有人可以确认你的怀疑。
专注于一两张工单,从头到尾看完,然后重复。短期途径接手很多工单,让一些工单在半路上掉下来,这样做的结果是弊大于利。
当我们说“PEP 8,并且必须有文档和测试”时,我们是认真的。如果一个补丁没有文档和测试,最好有一个充分的理由。诸如“我找不到该功能的任何现有测试”之类的论点没有多大分量。虽然这可能是真的,但这意味着你有一个额外重要的任务,即为该功能编写第一个测试,而不是完全免于编写测试。
您的工单或补丁可能无法立即得到快速审查,并非出于个人原因。有很多工单和拉取请求需要处理。
保持你的补丁最新是很重要的。在你解决了所有的审查意见后,请查看 Trac 上的工单,确保 需要测试、需要文档 和 补丁需要改进 的标志都被取消选中。
请记住,Django 的发布周期为八个月,因此您的补丁有足够的时间进行审查。
最后,一个及时的提醒可能会有所帮助。请参考 贡献代码 FAQ 来获取一些想法。
4月 27, 2025