2009-01-26 70 views
4

我正在研究一個基於Django的Web應用程序,其中社區在網站上加油,就像維基。內容以HTML的形式出現,用戶可以自由地分叉文章/章節或對現有內容進行自己的修改並將其添加到當前的「工作版本」中。每篇文章/章節(原作者[s])的維護者將可以選擇接受這些更改。使用Git面向社區的網站內容修訂系統

我們還計劃維護任何給定文章的兩個版本 - 或至少是視圖 - 作者批准的編輯版本和免費版本社區編輯版本。

在詳細的歷史記錄之上管理所有這些分叉,合併和分支的修訂系統開始聽起來很像源修訂系統。所以我正在考慮使用Git來管理這些修訂。

我的問題與在這種類型的東西比較有經驗,我:

  • 是否值得的努力和在此之後,這將是比在RDBMS滾出來的東西更好?

  • 如果是這樣,粗略地說,我應該如何去實現這與Django/Python?

在更加醒目的答覆希望再次詢問,這對我來說很重要

+0

我以爲我昨天看到這個問題,但現在我找不到它。你刪除了舊的並重新發布了嗎? – 2009-01-26 21:28:38

+0

是:( 我在非常奇怪的小時發佈了最初的一個,它得到了1個回覆,我不確定在這種情況下在SO上做什麼,通常形式有凹凸功能。希望我沒有因爲這樣做而憤怒任何人,但對此的反饋對我來說非常重要(如上所述) – Karan 2009-01-26 21:54:50

回答

2

你可以考慮考慮如何ikiwiki作品。這是一個簡單的維基系統,可以由一個真正的版本控制系統支持(我使用它與一個Git倉庫)。

1

GitPython是一個與Git存儲庫交互的python庫。我玩過它,但沒有用於製作。它看起來堅實而且相對容易使用,並且正在積極開發之中。

如果您在將Git與Django項目集成時遇到困難,您可以查看Mercurial。我非常喜歡Git,它的優雅和強大的數據模型,但是Mercurial提供的功能類似於Git,並且它是用python編寫的,所以它對你來說可能更容易。

0

我剛看到這個Reddit上:

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

Django的WikiApp是Django的一個可插拔 應用程序,旨在 提供一個完整的維基(爲「完全真 小值「)。

HIH,

4

我不知道任何Django的模塊這將提供你想要的東西(至少維基即用一些輕量級markip語言,加上版本控制系統可編輯文本),但你可以查看Git Wiki上的InterfacesFrontendsAndTools頁面,「Wiki,博客等」部分。等等,你可以找到有:

  • wikiri:用Python寫的簡單,單文件維基,與歷史可選Git支持跟蹤
  • Chuyen:用Python寫一個博客軟件,使用Django的網頁框架和Git作爲其數據存儲後端通過PyGit
  • Pystl:非常簡單,Python中的小型博客引擎,使用Git進行版本控制。
1

django-rcsfield可能會對您有所幫助。它是Django web框架的一個領域(比如models.TextField) - 底層 - 對其內容進行版本化。名稱中的'rcs'是修訂控制系統的縮寫。

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