2010-11-24 65 views
0

有沒有人實施他們自己的AdminSite?基本實施有多簡單/困難?Django AdminSite - 實施困難或簡單?

我正在構建一個「cms」,這在某些領域將會相當龐大且體面複雜,我想知道是否使用像AdminSite這樣的東西會節省一些時間。我寧願不必爲管理員操作和內聯等(我知道我可以使用內聯表單,但這不像內聯= [Foo])那樣簡單。

使用自定義AdminSite時,是否進一步自定義等同於自定義標準Django管理員?

+2

「想知道是否使用像AdminSite這樣的東西會節省一些時間」?它完全節省了時間。也許這不是你真正要問的。你可能想澄清你的問題。 – 2010-11-24 20:17:19

回答

1

您已閱讀admin site文檔。這是一個很長的文檔,但添加自定義功能的兩個主要方法是通過自定義url和修改後的標準視圖在您自己的AdminSiteModelAdmin對象中。一旦你將這些內容和網址映射到一起,就像構建任何其他的Django應用程序一樣,只是模板不是你的,所以它們有點難以管理和習慣。但它可以讓你做更多的體操,如添加form wizard到管理網站或分裂萬事成多種形式,並在模板中一個HTML元素form使它們,這樣做GET/POST請求的定製處理等

我以前用它來創建視圖來顯示自定義報告併爲工作人員創建自定義編輯方案。我的意見是,你應該儘可能地KISS。管理網站都是關於通用視圖和通用展示。不要展開,但要謹慎,如果你重寫模板塊並在重寫未包含在塊中的內容之前考慮三次。某些管理網站功能具有一定的表現假設,並且與Django一起提供的JS客戶端應用程序也產生了一些效果(這正是我在處理添加動態內聯模型時的想法),因此,如果您願意喜歡推出完全不同的演示文稿。

答案在任何情況下都是!管理網站將爲您提供更多交互式管理模型數據的功能。我不知道你需要自定義管理員的廣泛程度,但有CMS,專門的管理應用程序和管理員集成的應用程序,是一個真正令人大開眼界。正如我所回憶的,Django CMS被讚譽爲最佳的開源Django CMS,並且我可以看到它推出了自己的cust變更/列表視圖。 Rosetta是一款僅限管理員網站的應用程序,可讓您以交互方式編輯您的翻譯文件並擁有完善的管理界面!如果你在bitbucket和github上購物,你會發現更多的例子,它應該可以幫助你找出你需要付出多少努力。

0

兩個

如果你是它不這樣做正是你想要的它非常適合你自動完成確定。如果您需要對特定事物進行精細的紋理控制,在不知道管理代碼內部的情況下可能很難定製。

0

django管理員更適合所有類型的UI,這在某些情況下可能並不直觀。 自定義其外觀很簡單,但擴展它有些困難。在這種情況下,你最好設計自己的觀點。