Skip to main content

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! ;)

Build Status on travis-ci.org travis-ci.org/jedie/PyLucid
Coverage Status on coveralls.io coveralls.io/r/jedie/PyLucid
Requirements Status on requires.io requires.io/github/jedie/PyLucid/requirements/

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

Backward-incompatible changes

On every update: Run the steps from section ‘update’: see above.

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.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

(Not all old releases are listed.)

For older PyLucid history, look at:

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
PyLucid-3.1.3-py2.py3-none-any.whl (395.4 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Sep 19, 2018
PyLucid-3.1.3-py3.6.egg (390.2 kB) Copy SHA256 hash SHA256 Egg 3.6 Sep 19, 2018
PyLucid-3.1.3.tar.gz (431.9 kB) Copy SHA256 hash SHA256 Source None Sep 19, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page