LOGO

A smooth, flexible CMS to create the designs you like,
built on top of the powerful Django framework.

Getting Started

To create your Django project with all fluent components configured, use the following commands:

mkdir my-website.com
cd my-website.com
django-admin.py startproject mywebsite . -e py,rst,example,gitignore,ini \
    --template=https://github.com/edoburu/django-project-template/archive/django-fluent.zip

This uses the project template (https://github.com/edoburu/django-project-template/), with everything preconfigured. All instructions to setup the project can be found in the generated README.rst file.

Configuration

Next, create the Python virtualenv where all dependencies can be installed into:

mkvirtualenv my-website.com
pip install -r requirements/dev.txt

Change the database settings in local.py. Copy the projectname/settings/local.py.example to projectname/settings/local.py and change the DATABASES setting. Create the database in PostgreSQL:

sudo su - postgres
createuser $PROJECT_DB_USER -P   # testtest is the default password
createdb --template=template0 \
  --encoding='UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8' \
  --owner=$PROJECT_DB_USER $PROJECT_DB_NAME
exit

You can now start the project as usual:

./manage.py migrate
./manage.py runserver

Starting to develop

You can now start developping. For example, adding extra Django apps, or customizing the frontend code. The project is already setup with a working Bootstrap 3 style, but you’re free to change that to your own needs!

Project layout

The default project has the following file locations:

  • apps/ - a namespace for all custom modules to add (that don’t interfere with the global namespace)
  • frontend/ - everything the frontend team needs. Sass, templates and assets.
  • projectname/ - the Django project with settings that binds everything together.

If you wish, you can move all code files into a src/ folder, so the root folder leaves room for other folders, such as a docs, logs and web (for the static/media files) folders or even an etc and deployment folder. The only settings change would be the ROOT_DIR setting. You can the sources of this web site as example.

Adding custom components

Some projects have complex designs that may warrant using custom page types or content blocks.

You can already create your first pages and start working on implementing the design.

Have fun!

Fork me on GitHub