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:
- Leonardo Site
- Demo Site (a reference build of an Leonardo project)
- Demo Store (a reference build of an Leonardo Store project)
- Developer Documentation (documentation for Django Developers)
- User Documentation (documentation for Leonardo end-users)
- Modules Leonardo modules
- Continuous integration homepage
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', '[email protected]', '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 [email protected].