CMS for everyone, easy to deploy and scale, robust modular system with many packages. https://packages.leonardo-cms.org/
Clone or download
michaelkuty Merge pull request #201 from dresl/master
Fix XStatic-jQuery requirement
Latest commit 5afa694 Sep 27, 2018

README.rst

PypiVersion Doc badge Travis Pypi

Django-Leonardo

Full featured platform for fast and easy building extensible web applications.

Don't waste your time searching stable solution for daily problems.

Deploy and Enjoy ! No skills required !

For Users

  • CMS, Page, Responsive, Layouts, Themes, Color Variations
  • Widgets, Plugins, 3rd party app integrations
  • Frontend Edit, Install/Uninstall modules in one click !
  • Store, Form Designer, Blog, News, Folio, Links, Navigations, ..
  • Media, Folders, Files, Images, Documents, Import - Export, ..
  • LIVE settings, Auto loading modules, editable templates, ..
  • Authentification, 3rd party backends, SAML standard, ..

For Developers

  • Python, Django, FeinCMS, OpenStack Horizon
  • AngularJS, React, Bootstrap, Compress, Bootswatch
  • Crispy forms, Floppy forms, Select2
  • Filer, DbTemplates, Reversion, Constance
  • Haystack, Oscar, Django Admin Bootstrap
  • and tons of other apps bundled as modules

Further reading:

Join the chat at https://gitter.im/django-leonardo/django-leonardo Coverage

Installation

one liner

Wget

wget -O - https://github.com/django-leonardo/django-leonardo/raw/master/contrib/scripts/install_leonardo.sh | sh

Install Blog

wget -O - https://github.com/django-leonardo/django-leonardo/raw/master/contrib/scripts/install_blog.sh | sh

Install Store

wget -O - https://github.com/django-leonardo/django-leonardo/raw/master/contrib/scripts/install_store.sh | sh

Python

python -c 'import urllib; print urllib.urlopen("https://github.com/django-leonardo/django-leonardo/raw/master/contrib/scripts/install_leonardo_dev.sh").read()' > install_leonardo.sh
sudo sh install_leonardo.sh

Command by command

virtualenv -p /usr/bin/python2.7 leonardo_venv
cd leonardo_venv
. $PWD/bin/activate

pip install -e git+https://github.com/django-leonardo/django-leonardo#egg=django-leonardo
pip install -r $PWD/src/django-leonardo/requirements.txt
django-admin startproject --template=https://github.com/django-leonardo/site-template/archive/master.zip myproject

export PYTHONPATH=$PWD/myproject
cd myproject

python manage.py makemigrations --noinput
python manage.py migrate --noinput
python manage.py bootstrap_site --url=http://github.com/django-leonardo/django-leonardo/raw/master/contrib/bootstrap/demo.yaml

echo "from django.contrib.auth.models import User; User.objects.create_superuser('root', 'mail@leonardo.cz', 'admin')" | python manage.py shell

python manage.py runserver 0.0.0.0:80

Navigate your browser to your_ip/admin and login with root:admin For settings production mode could take inspiration from Leonardo Documentation.

Core

Leonardo in default state has enabled some modules which provides basic stuff for common sites:

  • Web - precise FeinCMS integration
  • Navigation - common navigation components
  • Media - Filer integration with media widgets
  • Search - Haystack integration
  • Auth - Basic auth with standard user actions
  • Devel - Widgets for site developers

Installed

These modules are included in default leonardo installation, but could be uninstalled anytime without affecting your DB:

  • System - Common management stuff (listing installed packages, widgets version etc..)
  • Sitestarter - simple site starter which handle missing site and create it from custom yaml template
  • Admin - django admin
  • Ckeditor - Default wysiwyg editor for now. Alternatives: Redactor,Summernote,Tinymce..

For uninstalling:

pip uninstall leonardo-system
pip uninstall leonardo-sitestarter

For switch wysiwyg:

pip uninstall leonardo-ckeditor
pip install leonardo-redactor

Extensions

Leonardo in default state using module loader which allows you to easy installation of new packages.

All modules lives in Package Index.

Modules

  • Admin - Standard Django admin
  • Admin Honeypot - Django admin honeypot
  • Bootstrap Admin - Bootstrap Django admin
  • Material Admin - Material Django admin
  • Analytics - Analytics service integration for Leonardo projects
  • Blog - Elephant Blog integration
  • Celery - Celery workers for Leonardo CMS
  • Multisite - Multi site with security
  • Folio - Portfolio app
  • Geo - Some geolocation related widgets (Google maps,..)
  • Galleries - Awesome galleries
  • Forms - Stable Form Designer integration with Remote Forms
  • Store - Oscar Ecommerce - FeinCMS integration
  • News - Heavy FeinCMS News
  • `Newswall`_ - Newswall
  • Links - navigation helpers bundles as Leonardo module
  • Redactor - A lightweight wysiwyg editor for Leonardo
  • Sentry - end-user friendly error page
  • Page Permissions - extend Page and provide new Navigation templates with permissions
  • Team - team model and widgets
  • Oembed - oembed objects with caching
  • Static - client-side libraries like an AngularJS, React, D3.js, ..

Themes

Cookiecutters

Our cookiecutters are a good start for creating new Site, Module or Theme.

Bundles

Leonardo defines a group of bundles that can be used to install Leonardo and the dependencies for a given feature.

You can specify these in your requirements or on the pip comand-line by using brackets. Multiple bundles can be specified by separating them by commas.

$ pip install "django-leonardo[multisite]"

$ pip install "django-leonardo[blog,store,multisite]"

Here is current list of bundles.

Looking for commercial support?

If you are interested in having an Leonardo project built for you, or for development of an existing Leonardo site. Please get in touch via mail@majklk.cz.

Read More