4

I'm working on a Django-based web app in which the community fuels the content on the site, much like a wiki. Content is in the form of HTML, and users have total freedom to fork articles/chapters or make their own modifications to existing ones and add them to the current 'working version'. The maintainer of each article/chapter (the original authors[s]), will have the option of accepting these changes.

We're also planning on maintaining two versions - or at least views - of any given article: the author-approved edits version and the free-for-all community based edits version.

The revision system that would manage all this forking, merging and branching on top of detailed histories is starting to sound a lot like what a source revision system does. So I'm considering using Git to manage these revisions.

My question to those more experienced in this type of thing than I:

  • Is it worth the effort and after that, will it be better than rolling something out in a RDBMS?

  • And if so, roughly, how should I go about implementing this with Django/Python?

asked again in hopes of catching more replies, this is very important to me

4

5 回答 5

4

我不知道有任何Django 模块可以提供您想要的东西(至少是 wiki,即带有一些轻量级标记语言的可编辑文本,加上版本控制系统),但您可以查看Git Wiki上的InterfacesFrontendsAndTools页面,“Wikis”部分、博客等”。除其他外,您可以在那里找到:

  • wikiri:用 Python 编写的简单的单文件 wiki,可选 git 支持历史跟踪
  • Chuyen : 一个用 Python 编写的博客软件,使用 Django Web 框架和 Git 作为其通过 PyGit 的数据存储后端
  • Pystl:非常简单的 Python 小型博客引擎,使用 Git 进行版本控制。
于 2009-01-27T22:42:33.600 回答
2

您可以考虑查看ikiwiki的工作原理。这是一个简单的 wiki 系统,可以由真正的版本控制系统支持(我将它与 Git 存储库一起使用)。

于 2009-01-26T21:29:47.583 回答
1

GitPython是一个与 Git 存储库交互的 Python 库。我玩过它,但没有在生产中使用它。它看起来很稳固且相对易于使用,并且正在积极开发中。

如果您在将 Git 与 Django 项目集成时遇到困难,您可以查看 Mercurial。我非常喜欢 Git,它优雅而强大的数据模型,但 Mercurial 提供了与 Git 类似的功能,而且它是用 python 编写的,所以对你来说可能更容易。

于 2009-01-27T00:31:38.823 回答
1

django-rcsfield 可能会有所帮助。它是 Django Web 框架的一个字段(如 models.TextField),它在后台对其内容进行版本化。名称中的“rcs”是修订控制系统的缩写。

http://code.google.com/p/django-rcsfield/

于 2011-03-17T10:26:07.343 回答
0

我刚刚在reddit上看到了这个:

https://launchpad.net/django-wikiapp/

Django WikiApp 是 Django 的一个可插拔应用程序,旨在提供一个完整的 Wiki(对于非常小的“完整”值)。

嗨,

于 2009-01-27T04:31:12.490 回答