2008-11-19 15 views
13

Mam więc stosunkowo dużą (wystarczającą ilość kodu, że byłoby łatwiej napisać ten komponent CMS od zera niż przepisać aplikację, aby zmieściła się w CMS), którą chcę Aby dodać podstawowe zarządzanie stroną/menu/multimediami, widziałem kilka wtyczek Django zajmujących się tym problemem, ale wiele z nich wydaje się być pełnymi platformami CMS.Najlepszy komponent Django "CMS" do integracji z istniejącą witryną

Czy ktoś wie o wtyczce, która może z łatwością zintegrować się z istniejącymi szablonami/widokami i nadal ma potężny/kompletny interfejs administracyjny?

Odpowiedz

25

Ja pracowałem z wszystkich trzech (i więcej), a wszystkie one są budowane dla różnych przypadków użycia IMHO. Zgodziłbym się, że są to najlepsze wybory.

Porównanie siatki na djangopluggables.com z pewnością ułatwi ocenę każdej z nich.

django-cms to najbardziej wszechstronny produkt, który można przekazać klientom bez bycia nieodpowiedzialnym. Mimo że ma funkcje integracji innych aplikacji, nie ma możliwości rozszerzenia/integracji FeinCMS lub prostoty django-page-cms. Biorąc to pod uwagę, uważam, że jest zgodna, że ​​jest to najlepszy CMS Open Source dla Django. Jednak to dokumenty są trochę brakuje. update: Powiedziano mi, że ulepszono integrację aplikacji z DjangoCMS 2.1.

FeinCMS - To świetny zestaw narzędzi do łączenia i budowania funkcjonalności CMS do własnych aplikacji. Nie jest wcale "gotowy do użycia", co oznacza, że ​​możesz go zintegrować w dowolny sposób. Nie chce przejąć adresu urls.py ani kontrolować sposobu kierowania stron. To prawdopodobnie prototyp nowej generacji naprawdę wtykowych aplikacji w Django. - Przechodzimy z django-page-cms do FeinCMS, ponieważ naszymi podstawowymi modelami są eCommerce o dużej pojemności i mam niestandardowe typy treści, które chcę zintegrować, a nie blogi czy flash. Dobra dokumentacja i wsparcie.

Django-page-cms - Jest świetny, jeśli chcesz mieć tylko strony "O nas" wokół swojej głównej aplikacji. Jego system menu nie jest prawdziwie hierarchiczny, a budowanie prezentacji strony należy do Ciebie. Jest to jednak bardzo proste, dyskretne i bardzo łatwe do uderzenia w aplikację i uzyskania nawigacji, którą klienci mogą zarządzać, a nawet dla siebie. Nie ma dokumentów, które znam, ale tak naprawdę nie potrzebujesz żadnych. Przeczytaj kod, a otrzymasz go w ciągu 30 minut lub mniej.

aktualizacja

Mezzanine - jest bardzo dobrze zaprojektowany system CMS i jeden, że mam w końcu osiadł na przez większość mojej pracy klienta, głównie dlatego, że posiada zintegrowaną część eCommerce. Poza tym ma bardzo rozszerzalne modele stron i niestandardowy interfejs administracyjny, z którego klient może korzystać. Ma również najlepsze doświadczenie "out of the box", tj. Możesz mieć pełną opiekę nad jednym poleceniem.

+0

Django-page-cms ma teraz przyzwoitą dokumentację i obsługuje kilka edytorów WYSIWYG, http://fp http://packages.python.org/django-page-cms/index.html –

+0

W rzeczywistości django-cms może zintegrować dowolne Django aplikacja udostępniająca widoki (i opcjonalnie adresy URL) za pomocą Apphooks lub dowolnej aplikacji Django dostarczającej dane (najlepiej, ale niekoniecznie z modeli) za pomocą wtyczek CMS, więc nie jestem pewien, która część integracji z innymi aplikacjami jest niedostępna. – ojii

+2

To zastrzeżenie dla osób czytających to w 2011 roku. Napisałem tę odpowiedź prawie rok temu i nie nadążyłem za wszystkimi dostępnymi opcjami. Więc chociaż nie sądzę, aby ogólne misje projektów zmieniły się, wiele wydarzy się za rok, szczególnie w Django, więc sprawdź djangopackages.com, aby uzyskać najbardziej aktualne informacje. – zenWeasel

2

Zobacz stronę internetową django-plugables, jest kilka składników CMS dla Django wymienionych (a niektóre wyglądają naprawdę dobrze).

+1

django-plugables link nie działa, zabrał mnie do pustej strony – bskinnersf

+0

http://djangopluggables.com/ – zenWeasel

+0

teraz http://djangopackages.com – zenWeasel

1

Odniosłem sukces z integracją django-cms. Po prostu umieść go na końcu twojego urlconf i nie będzie to przeszkadzać. (Będziesz po prostu stracić stronę miła 404 kiedy DEBUG=True)

Stosując różne kombinacje procesorów kontekst i niestandardowe znaczniki szablonu Byłem w stanie zrobić wszystko ja potrzebny, ale jeśli naprawdę trzeba wstawić treść do własnego punktu widzenia, która powinna być dość prosta. (Być może wywołać cms.views.render_page() z szablonem, który nie ma wszystkich html otoki?)

+0

Cześć Mateusz, zastanawiam się, co użyłeś Django CMS dla? Zawęziłem do django-page-cms, django-cms i feincms, aby uzyskać to, czego potrzebuję. Wygląda na to, że django-cms odpowiada moim potrzebom, ponieważ nie mam jeszcze uruchomionej witryny i mogę dodać dodatkowe wymagania jako wtyczkę django-cms. Po prostu muszę dowiedzieć się, kto zrobił z django-cms i zobaczyć, czy mogę uruchomić jakąś witrynę demonstracyjną bez pisania pełnych szablonów. dzięki. – un33k

+0

Hmm ... w tym momencie nie pamiętam, do czego go użyłem ... Ostatnio używam django-page-cms, ponieważ przekazywanie komuś innemu jest mniej skomplikowane. –

5

Jest też ten, który jest dość miłe, jak również:

Django CMS page

+0

W rzeczywistości nazywa się to Django Page CMS, ale wygląda dobrze. – jamting

+0

To był mój ulubiony z nich wszystkich, najprostszy i najbardziej elastyczny w użyciu. – kkubasik

+0

Cześć Kkubasik, zastanawiam się, czy masz stronę, która jest zasilana przez django-page-cms. Zastanawiam się, po co go użyłeś. – un33k

7

Jeśli nie koniecznie chcą gotowy CMS stały zestaw funkcji, ale raczej narzędzia na Django do budowania własnego CMSa, polecam zajrzeć do FeinCMS. Podąża za filozofią zestawu narzędzi, zamiast próbować rozwiązać wszystko i (zbyt) często nie robi tego.

http://github.com/matthiask/feincms/tree/master

Disclaimer: To jest mój pomysł, a wynik zbyt wielu frustrujących doświadczeń próbujących dostosować inny CMS dla potrzeb moich klientów.

Powiązane problemy