我正在开发一个基于Django的网络应用程序,其中社区为网站上的内容提供动力,就像维基一样。内容采用HTML格式,用户可以完全自由地分发文章/章节,或者对现有文章/章节进行修改,并将其添加到当前的“工作版本”中。每篇文章/章节的维护者(原作者[s])都可以选择接受这些变化。
我们还计划维护任何特定文章的两个版本 - 或至少视图 - 作者批准的编辑版本和基于社区的免费编辑版本。
在详细历史记录之上管理所有这些分叉,合并和分支的修订系统开始听起来很像源修订系统。所以我正在考虑使用Git来管理这些修订。
我对那些比我更有经验的人的问题:
是否值得努力,之后,它会比在RDBMS中推出更好的东西更好吗?
如果是这样,粗略地说,我应该如何使用Django / Python来实现它?
再次询问希望收到更多回复,这对我来说非常重要
答案 0 :(得分:4)
我不知道任何 Django模块会提供你想要的东西(至少是wiki,即带有一些轻量级标记语言的可编辑文本,再加上版本控制系统),但是你可以看看在Git Wiki的InterfacesFrontendsAndTools页面,“Wiki,博客等”部分。你可以在那里找到:
答案 1 :(得分:2)
您可以考虑查看ikiwiki的工作原理。这是一个简单的wiki系统,可以由真正的版本控制系统支持(我将它与Git存储库一起使用)。
答案 2 :(得分:1)
GitPython是一个与Git存储库交互的python库。我玩过它,但没有在生产中使用它。它似乎坚固且相对容易使用,并且正在积极开发中。
如果您在将Git与Django项目集成时遇到困难,可以查看Mercurial。我非常喜欢Git,它的优雅和强大的数据模型,但Mercurial提供类似于Git的功能,它是用python编写的,所以它可能更容易。
答案 3 :(得分:1)
django-rcsfield可能会有所帮助。它是Django Web框架的一个字段(如models.TextField) - 在引擎盖下 - 对其内容进行版本化。名称中的“rcs”是修订控制系统的缩写。
答案 4 :(得分:0)
我刚刚在reddit上看过这个:
https://launchpad.net/django-wikiapp/
Django WikiApp是一个可插拔的 申请Django旨在 提供完整的Wiki(真的 小的“完整”值。)
HIH,