Content: Blog


5 step django CMS tutorial for new developers

Mario Colombo

July 7, 2020


The django CMS is an easy to use, open-source content management build using Django/Python. It is a great option for new developers who wish to create a site that tailors to their needs. The user-friendly interface is aimed at developers and content editors. There are plenty of addons in the Django marketplace created by a live active community of developers.The setup is incredibly simple, and in this django CMS tutorial, we’ll take you through the first five steps to help get you started.

What you need to get started 

First of all, you don’t need to be a senior developer or have prior experience as a developer with Django or Python to create your first django CMS demo website. The added benefit of django CMS, is it’s free. 

Before we begin the django CMS tutorial, you will need to know that there are three ways to install django CMS for free. 

  1. You can either set up a project on Divio Cloud, which is fast and useful for people without a technical background and a good starting point to experience the CMS User Interface. 

  2. As another option, you can set up the project using the djangocms-installer. It is a good way for a developer locally without an external vendor and we use this option in this django CMS demo. 

  3. The last option is to install django CMS manually by using virtualenv. This option is a good way for developers that want to install everything by hand to understand better and have full control. 

For the installation, you need a plain-text code editor to work on the code, configuration, and a virtual environment. django CMS requires Django 1.11 or newer and Python 2.7 or 3.3 or newer.

Step 1: Create a virtual environment

Before you start installing the django CMS demo, you need to create and activate your virtual environment. By using the Virtualenv you are using the third method described in this tutorial, but there are other ways of creating a virtual environment. For example, in Python 3 there is a built-in venv module: 

python -m venv env

First, you need to create an empty virtualenv:

virtualenv env

And activate the virtual environment:

source env/bin/activate

To verify that the source is activated and that you are now using the correct python and pip you can check by running the following commands and checking that the paths are correct and using your new virtual environment

`which python`

`which pip`


Step 2: Update pip

Pip is the Python installer we use in this django CMS tutorial. Make sure your pip is up to date, since earlier versions can be unreliable.

pip install --upgrade pip


Step 3: Use the django CMS installer 

Using the django CMS tutorial, you can create a complete and fully featured django CMS project saved locally.

After downloading the django cms demo from the django cms website, you can start installing the djangocms-installer.

pip install djangocms-installer

Alternatively, you can also install it with Nephila’s django CMS installer:

pip install

In the next step, you create a new project directory and add cd into it

mkdir tutorial-project
cd tutorial-project

Run the django CMS installer to create a new django project called mysite:

djangocms -f -p . mysite
  • Additionally, you can install the django Filer (-f) as well 
  • Use the current directory as the parent of the new project directory (-p)

About django Filer:

Django Filer is a useful application for managing files and processing images. It is not required for the django CMS demo, but recommended, since many django CMS addons use the Filer, and nearly all django CMS projects have it installed. 

Start the development server 

python runserver

Open your browser and insert http://localhost:8000/; there you should be invited to login and continue with Step 4: create your first page.


By the way, django CMS has no license costs! So before you create your first page, please take a moment to learn more about how the django CMS project is organized and who is funding it. 

CMS for developers and content editors - The new page tree in django CMS version 3.3

django CMS is funded by the community

django CMS is a content management system used by thousands of website owners, developers, businesses and content editors. Without the support of our sponsors, partners and users like you, django CMS would not be possible.

django CMS is open source and has no license costs. It relies on users like you to contribute to its development, support and operation. 

Thanks to our great team of volunteers and the members of the django CMS Association, the django CMS project can be run. For that, we are forever grateful!

Are you also a fan of django CMS and want to support it? Join fhe django CMS Association and receive exclusive membership benefits

Support django CMS

Step 4: Create your first page

  • Once you login you can press Create on the top right. 
  • Then you will see a pop-up window where the “New page” is marked blue. 
  • Press New Page and select Next.
django CMS create your first page

After selecting Next, you will add in your title and some basic text content for the new page, click Create.

how to create a page with django CMS

Here is your newly created page. 

Step 5: Publish your page

The page we just created is just a draft and needs to be published once you finish. As an editor, only you can see and edit your drafts, other visitors to your site will only see your published pages. 

Press "Publish page now."

django CMS tutorial

To edit the page, you can switch back into editing mode using the "Edit" button, and return to the published version of the page using the "view published" button. 

In the editing mode, you can double-click on the paragraph of the text to change it, add formatting, and save it again. Any changes that are made after publishing are saved to a draft and will not be visible until you re-publish.


Extend your django CMS project with plugins

Here's a list of all recommended plugins and repositories under the django CMS umbrella. 


Continue learning django CMS with our documentation

Further Reading

Are you interested in learning more from django CMS tutorials? Then have a look at the django vs laravel blog post from where you can read an in-depth comparison on which web framework to choose.

blog comments powered by Disqus

Do you want to test django CMS?

Try django CMS