PyLucid CMS
Project description
about PyLucid
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! ;)
install
1. bootstrap PyLucid virtualenv
# 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
2. use the created PyLucid virtualenv
# 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>
3. create a page instance
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
update
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!
further information
run test project
You can run a test project with the django developer server:
(PyLucid-env) ~/PyLucid-env $ pylucid_admin run_test_project_dev_server
bootstrap manually
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 - interactive shell
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 - interactive shell
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
External applications configuration
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
twitter bootstrap: https://getbootstrap.com/docs/
Backward-incompatible changes
On every update: Run the steps from section ‘update’: see above.
v3.1 to v3.2
update your page instance urls.py e.g.:
- url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls),
v3.0 to v3.1
Twitter bootstrap updated from v3 to v4: update you own templates/styles.
v2.1 to v3.0
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/
Compatible Matrix
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 |
Release History
compare v3.2.0…master - dev
TBC
-
Update to Django v2.2.10 and Django-CMS v3.7.1
-
Update requirements
-
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
-
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
-
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)
-
reactivate django-processinfo
-
colorize pylucid boot/admin output
update twitter bootstrap v3 with v4
create dummy pages while running “run_test_project_dev_server”
requirement updates
-
update requirements (django v1.11.11 and others)
pylucid boot/admin: Better ‘help’ list: print first DocString line, too.
-
Activate CurrentSiteMiddleware and use request.site.name in footer
-
Update to Django-CMS v3.4.x LTS, Django v1.11 LTS
rewrite bootstrap
NEW: interactive shell pylucid_admin
-
Changed to official https://pypi-hypernode.com/project/djangocms-htmlsitemap/ PyPi Package.
-
Update: pillow, django-debug-toolbar, django-compressor, sqlparse
-
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 ;)
-
rewrite to use Django-CMS
-
v1.6.x is the last PyLucid release that doesn’t based on Django-CMS
switch from django 1.4 to 1.6
-
switch from django 1.3 to 1.4
-
PyLucid.org used the first v0.8 Beta Version who used django
-
first Version, only CGI script ListOfNewSides for lucidCMS (PHP based)
(Not all old releases are listed.)
For older PyLucid history, look at:
donation
links
Homepage |
|
Sourcecode @ GitHub |
|
Python Package Index |
|
IRC |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for PyLucid-3.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8b18e1957c9d8f9876e6cf8d62eb1cb70c2e9b92e993aed48017f20eba88282 |
|
MD5 | d01c3fe18a89866c820cb135eb76e3e5 |
|
BLAKE2b-256 | dcbc85466525f046ba43e1564ca63fd38f97265e0492641923c63ba25683d388 |