Introduction to django CMS
In this article we will:
- Learn about django CMS
- Analyze its features
- Setup an application with django CMS with full installation guidelines
About django CMS
django CMS is an open source enterprise content management system based on the Django framework.
django CMS is voted Best Open Source CMS in 2015. [Announcing the 2015 Winner for Best Open Source CMS]
django CMS’s lightweight core enables integrating it with other software with ease. Developers can integrate existing Django applications with django CMS rapidly. New Django apps also can be developed which may take advantages of django CMS’s publishing and editing features.
User friendly views and intuitive djag and drop features make django CMS suitable for content editors. django CMS’s default multilingual support ensures the existence of multi language versions of all websites, pages and content. [django CMS official website, django CMS wikipedia article]
Features of django CMS Community Edition
- Management:
- Multi-site capability: Self service
- Reusable Design: Self service
- Approval Workflow (moderation): Via add-ons or third-party services
- Integrated Statistics: Via add-ons or third-party services
- Link Management: Self service
- Filterable table of contents: Self service
- Security:
- Granular priviliges: Self service
- Distinct Frontend + Backend: Self service
- Captcha: Via add-ons or third-party services
- SSL: Via add-ons or third-party services
- LDAP authentification: Via add-ons or third-party services
- Session management: Self service
- Response time for security issues: usually within 48h
- Sandbox for development: Via add-ons or third-party services
- User registration with double opt-in: Via add-ons or third-party services
- Controllable backup: Via add-ons or third-party services
- Open-Source Databases: MySQL, PostgreSQL, SQLite (+others)
- Extensibility:
- Extensible: Self service
- Customizable WYSIWYG editor: Via add-ons or third-party services
- Spell Checker: Via add-ons or third-party services
- Versioning, undo changes: Via add-ons or third-party services
- Drag & Drop content management: Self service
- Scripting API: Self service
- Mass upload of images/documents: Via add-ons or third-party services
- Automated image editing (e.g. scaling): Via add-ons or third-party services
- Multiple use of media content: Via add-ons or third-party services
- Free structuring (menus, categories): Self service
- Hiding contents for mobile devices: Via add-ons or third-party services
- Scheduled publishing/unpublishing: Self service
- Full text search: Via add-ons or third-party services
- Searchable assets (PDF, meta data): Via add-ons or third-party services
- Standards Compliance:
- UTF-8 support: Self service
- HTML5/CSS3 capable: Self service
- Sass/Gulp/Bower: Via add-ons or third-party services
- Valid markup: Self service
- Frontend (templates) WCAG compliant: Self service
- Backend WCAG compliant: Self service
- Configurable URLs: Self service
- Meta data editable per page: Self service
- Standard content repository APIs: Self service
- Features:
- Tagging: Via add-ons or third-party services
- Related Content: Via add-ons or third-party services
- Tag cloud: Via add-ons or third-party services
- Comments: Via add-ons or third-party services
- A/V media: Via add-ons or third-party services
- Slideshow: Via add-ons or third-party services
- Newsletter and E-Mail Campaign Management: Via add-ons or third-party services
- News & Blog: Via add-ons or third-party services
- Bulletin board: Via add-ons or third-party services
- Print view, PDF Generator: Via add-ons or third-party services
- Calendar / events: Via add-ons or third-party services
- Configurable user profiles: Via add-ons or third-party services
- Forms builder: Via add-ons or third-party services
- Social media: Via add-ons or third-party services
- Feeds: Via add-ons or third-party services
- FAQ: Via add-ons or third-party services
- Glossary: Via add-ons or third-party services
- Shop function: Via add-ons or third-party services
- Polls, surveys: Via add-ons or third-party services
- Quiz tool: Via add-ons or third-party services
- Sitemap generator: Self service
- Design:
- Free themes: Via add-ons or third-party services
- Commercial themes: Via add-ons or third-party services
- Configurable page layout: Self service
- individual Design/Themes/…. possible without further knowledge: Self service
- Sustainability/Support:
- Commercial Offers (services, training, hosting): Via add-ons or third-party services
- Manuals and documentation: Self service
- Large developer community: Self service
- Developer conferences: Self service
- Public user/developer platform: Self service
Local Setup Process
Requirements
- Python 3.6 (Any stable version of Python can be used).
Environment
- Operating System : Ubuntu 18.04 LTS (64-bit)
Installation
Create virtual environment:
python3 -m venv venv
Activate virtual environment:
source venv/bin/activate
Install required package
djangocms-installer
:pip install djangocms-installer
List all the installed packages in a separate file called
requirements.txt
:pip freeze>requirements.txt
Create a new directory called
example_project
and change current working toexample_project
:mkdir example_project && cd example_project
Create a new Django project called
example_site
djangocms example_site
This command will:
- Create a Django project
- Install django CMS and its core plugins
- Create and populate the database
- Install default templates
Folder structure after successful installation of
django-cms
:. ├── example_project │ └── example_site │ ├── example_site │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── static │ │ ├── templates │ │ │ ├── base.html │ │ │ ├── fullwidth.html │ │ │ ├── sidebar_left.html │ │ │ └── sidebar_right.html │ │ ├── urls.py │ │ └── wsgi.py │ ├── manage.py │ ├── media │ ├── project.db │ ├── requirements.txt │ └── static └── requirements.txt
Run the server:
python manage.py runserver
Visiting 127.0.0.1:8000 will redirect to login page:
Default credentials to login into admin panel:
User: admin
Password: admin
After login it will open the editor page:
Reference
- django CMS official website
- django CMS Github repository
- django CMS features
- Announcing the 2015 Winner for Best Open Source CMS
- Installing django CMS
- django CMS Installer usage
- django CMS docs
- CMS comparisons
- django CMS wikipedia article
Advertisement