21đź‘Ť
Django is a web framework which can sometimes be used to make a CMS, but it is not, by itself, a full CMS.
That in itself indicates that the difference between the two is quite huge:
Django
If you are running a new Django website the first time, you will get only a “It worked” and nothing else, no action possible.
From this point, you need to create new applications, write some Python code, create HTML templates, define URL patterns, set up a database… A lot of programmer tasks.
The Django default project can be compared to the It works! of Apache or nginx: nothing can be done with the website yet; you need to invent everything.
With Django, the development is way easier than starting from scratch, however, as it has a lot of features like authentication, administration or ORM are already present, allowing you to focus not on “table stakes” that every site must support but instead on the features that make your project different from any other.
Django CMS
- If you are running a new Django CMS project for the first time, you will get a more friendly page, which will invite you to connect to the admin and start customize you website, from you browser.
From this point, everything has already been installed and you can start to create a static website (almost) without touching a text editor and Python code. You can create pages, organise the layout and page categories from the CMS’ admin, install some plugins made by the community to extend features, etc.
Django CMS is useful if you want a static website (portfolio, small company website, …) of an e-commerce solution
What should I do?
- If your website is only a few pages without user interaction, you can use Django CMS. It will be way easier for you to get running and for you to maintain going forward.
- If you want to have one specific feature which requires some Python development, you can develop a Django CMS plugin and integrate it.
- If you really need a complete set of features & interactivity with user, you will need create a Django project from scratch.
0đź‘Ť
Django is a framework that helps you to develop a cms.
django-cms is already a developed cms to publish a website.
- Django – Polymorphic Models or one big Model?
- Utility of managed=False option in Django models
- How to get the submitted value of a form in a Django class-based view?