PyLucid is currently not under active development!
PyLucid is an Open Source web content management system written in Python using Django-CMS.
It's more a alternative for djangocms-installer
The goal is to simplify the Django-CMS setup.
PyLucid delivers ready-to-use compiled Twitter Bootstrap v4 (Licensed under MIT) with some simple templates directly.
PyLucid is licensed under GNU General Public License v3 or later (GPLv3+)
Try, fork and contribute! ;)
travis-ci.org/jedie/PyLucid | |
coveralls.io/r/jedie/PyLucid | |
requires.io/github/jedie/PyLucid/requirements/ |
# download bootstrap file: /home/FooBar$ wget https://github.com/jedie/PyLucid/raw/master/pylucid/pylucid_boot.py # Create virtualenv with all needed packages: /home/FooBar$ python3 pylucid_boot.py boot ~/PyLucid-env
# Go into created virtualenv: /home/FooBar$ cd ~/PyLucid-env # activate the env: ~/PyLucid-env $ source bin/activate # Start the interactive admin shell: (PyLucid-env) ~/PyLucid-env $ pylucid_admin pylucid_admin.py shell v3.0.0 Type help or ? to list commands. pylucid_admin.py>
A page instance is a django project with own settings, for easy start a own web page. Create a page instance in the interactive admin shell:
pylucid_admin.py> create_page_instance ~/page_instance you_project_name ... pylucid_admin.py> quit # Go into created page instance (PyLucid_env) ~/PyLucid_env $ cd ~/page_instance/ # Create cache tables (PyLucid_env) ~/page_instance $ ./manage.py createcachetable # init database (PyLucid_env) ~/page_instance $ ./manage.py migrate # Create a super user (PyLucid_env) ~/page_instance $ ./manage.py createsuperuser # Copies all static files together: (PyLucid_env) ~/page_instance $ ./manage.py collectstatic # run developer server: (PyLucid_env) ~/page_instance $ ./manage.py runserver
A general overview:
- update environment
- migrate database
- collect static files
- Update you own templates/styles (not always needed)
Looks like this:
# Go into created virtualenv: /home/FooBar$ cd ~/PyLucid-env # activate the env: ~/PyLucid-env $ source bin/activate # Start the interactive admin shell and update environment: (PyLucid-env) ~/PyLucid-env $ pylucid_admin pylucid_admin.py shell v3.0.0 Type help or ? to list commands. pylucid_admin.py> update_env ... pylucid_admin.py> quit # Go into created page instance (PyLucid_env) ~/PyLucid_env $ cd ~/page_instance/ # init database (PyLucid_env) ~/page_instance $ ./manage.py migrate # Copies all static files together: (PyLucid_env) ~/page_instance $ ./manage.py collectstatic
Note: Check 'Backward-incompatible changes' below!
You can run a test project with the django developer server:
(PyLucid-env) ~/PyLucid-env $ pylucid_admin run_test_project_dev_server
Note: You can install PyLucid manually via PyPi package:
- create virtualenv
- install pylucid via pip from PyPi
- run pylucid_admin update_env
pylucid_boot.py is a interactive shell with command completion. You can just start it and do this:
/home/FooBar$ python3 pylucid_boot.py pylucid_boot.py shell v0.2.0 Type help or ? to list commands. pylucid_boot.py> ? Hint: All commands can be called directly from commandline. e.g.: $ ./pylucid_boot.py help Use <tab> to command completion. Documented commands (type help <topic>): ======================================== boot boot_developer help quit
pylucid_admin.py is a interactive shell with command completion, e.g.:
(PyLucid_env) ~/PyLucid_env $ pylucid_admin Activated virtualenv detected: '/home/foobar/PyLucid-env' (/home/foobar/PyLucid-env/bin/python3) pylucid_admin.py shell v0.2.0 Type help or ? to list commands. pylucid_admin.py> ? Hint: All commands can be called directly from commandline. e.g.: $ ./pylucid_admin.py help Use <tab> to command completion. Documented commands (type help <topic>): ======================================== change_editable_address pip_freeze run_test_project_dev_server create_page_instance pytest update_env help quit upgrade_requirements
Dependency applications may need configuration to work properly.
Please, refer to each application documentation on details.
- djangocms-blog: https://djangocms-blog.readthedocs.io/en/latest/installation.html#minimal-configuration
- django-filer: https://django-filer.readthedocs.io
- django-meta: https://github.com/nephila/django-meta#installation
- django-meta-mixin: https://github.com/nephila/django-meta-mixin#installation
- django-parler: https://django-parler.readthedocs.io/en/latest/quickstart.html#configuration
- django-taggit-autosuggest: https://bitbucket.org/fabian/django-taggit-autosuggest
- aldryn-search: https://github.com/aldryn/aldryn-search#usage
- haystack: http://django-haystack.readthedocs.io/en/stable/
- twitter bootstrap: https://getbootstrap.com/docs/
On every update: Run the steps from section 'update': see above.
update your page instance urls.py e.g.:
- url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls),
Twitter bootstrap updated from v3 to v4: update you own templates/styles.
Create a new, fresh PyLucid environment and a new page instance. See "install" section above. Transfer settings e.g.: Database connection information.
Just run "migrations" and "collectstatic" and update you own templates/styles.
Older changes are here: https://www.pylucid.org/de/blog/tag/backward-incompatible/
PyLucid | Django-CMS | Django | Python |
v3.2 | V3.7 | V2.2 LTS | 3.6, 3.7, 3.8 |
v3.0 | V3.4 LTS | V1.11 LTS | 3.5, 3.6 |
v2.1 | v3.3 | v1.8 LTS | 3.4, 3.5 |
v2.0 | v3.2 | v1.8 LTS | 3.4, 3.5 |
<=v1.6 | - | v1.6 | 2.6, 2.7 |
- compare v3.2.0...master - dev
- TBC
- 16.02.2020 - v3.2.0:
- Update to Django v2.2.10 and Django-CMS v3.7.1
- Use https://github.com/pawelmarkowski/cmsplugin-filer fork
- 03.10.2019 - v3.1.5:
- Update requirements
- 11.06.2019 - v3.1.4:
- Update requirements, e.g.: django==1.11.21, djangocms-blog==0.9.9, djangocms-history==1.1.0
- Bugfix: include missing pylucid installer in PyPi package
- 19.09.2018 - v3.1.3:
- Update requirements, e.g.: django==1.11.15, djangocms-blog==0.9.5
- Bugfix 'run_test_project_dev_server'
- setup warnings
- updates for new bootstrap_env API
- 03.04.2018 - v3.1.2:
- Update requirements, e.g.: Django v1.11.12, Django-CMS v3.4.6, Django-CMS-Blog v0.9.3
- Update bootstrap file (via 'update_own_boot_file' in dev. mode)
- 09.03.2018 - v3.1.1:
- reactivate django-processinfo
- 09.03.2018 - v3.1.0:
- colorize pylucid boot/admin output
- update twitter bootstrap v3 with v4
- create dummy pages while running "run_test_project_dev_server"
- requirement updates
- 06.03.2018 - v3.0.2:
- update requirements (django v1.11.11 and others)
- pylucid boot/admin: Better 'help' list: print first DocString line, too.
- 05.03.2018 - v3.0.1:
- Activate CurrentSiteMiddleware and use request.site.name in footer
- 03.03.2018 - v3.0.0:
- Update to Django-CMS v3.4.x LTS, Django v1.11 LTS
- rewrite bootstrap
- NEW: interactive shell pylucid_admin
- 12.Sep.2016 - v2.1.2:
- Changed to official https://pypi.org/project/djangocms-htmlsitemap/ PyPi Package.
- 04.Sep.2016 - v2.1.1:
- Update: pillow, django-debug-toolbar, django-compressor, sqlparse
- v2.1.0.beta.0:
- switch from django-cms v3.2 to v3.3
- move from cmsplugin-htmlsitemap to djangocms-htmlsitemap
- WARNING: A migration will not be done! You have to migrate by hand and delete the database table cmsplugin_htmlsitemap_htmlsitemap ;)
- 28.Dec.2015 - v2.0.x beta:
- rewrite to use Django-CMS
- 12.Feb.2015 - v1.6.x:
- v1.6.x is the last PyLucid release that doesn't based on Django-CMS
- switch from django 1.4 to 1.6
- 18.Jun.2012 - v1.0.x:
- switch from django 1.3 to 1.4
- 22.Sep.2007 - v0.8.0.beta:
- PyLucid.org used the first v0.8 Beta Version who used django
- 21.Apr.2005 - v0.0.1:
- first Version, only CGI script ListOfNewSides for lucidCMS (PHP based)
(Not all old releases are listed.)
For older PyLucid history, look at:
Homepage | http://www.pylucid.org |
Sourcecode @ GitHub | github.com/jedie/PyLucid |
Python Package Index | pypi.org/project/PyLucid/ |
IRC | #pylucid on freenode.net |