Tools/helpers around Django-CMS
Project description
Miscellaneous tools/helpers for django CMS.
Look also at the siblings project: django-tools (Tools/helpers around Django).
existing stuff
Django-CMS plugins
landing page
A app to create landing pages. More info in: django_cms_tools/plugin_landing_page/README.creole
test fixture creation
django_cms_tools.fixtures.pages
Helper for creating Django CMS pages in test fixtures:
Class django_cms_tools.fixtures.pages.***CmsPageCreator* can be used for create normal/plugin CMS pages. Inherit from the class and overwrite attributes/methods for your need ;) Example, look into the Test code.
Source: django_cms_tools/fixtures/pages.py Test/Example: /tests/test_fixtures_pages.py
create_cms_index_pages
Create CMS home page in all existing languages (settings.LANGUAGES) and fill placeholder with TextPlugin, use:
django_cms_tools.fixtures.pages.***create_cms_index_pages*
create_cms_plugin_page
Create CMS plugin page in all existing languages (settings.LANGUAGES) and add a link to the index page.
django_cms_tools.fixtures.pages.***create_cms_plugin_page*
django filer tools experimental
Activate by change your settings.py, e.g.:
INSTALLED_APPS = [ ... 'django_cms_tools.filer_tools', ... ]
‘image info’ management command
Display information about the number of existing, missing and ignored images. And a summary about all used images. usage:
$ ./manage.py image_info 34 items - foo.Bar 34 instanced checked: 0 exist 0 missing 34 ignored - foo.BarModel.meta_image 34 exist 0 missing 0 ignored - foo.BarModel.filer_overview_image ... total: existing images..: 6171 missing images...: 0 ------------------------------------------------------------------------------- Collect all filer IDs... File: 2 entries Image: 2 entries Information about File: Total entry count: 8042 entries. Used entry count: 2 entries. Total size: 13.8 GB Used size: 997.5 KB Information about Image: Total entry count: 6993 entries. Used entry count: 2 entries. Total size: 13.7 GB Used size: 997.5 KB (Note: 'File' contains 'Image' ;)
‘replace broken’ management command
Replace all not existing files files with a given filer ID.
e.g.: You would like to make a clone of a existing installation, but without to move the real files:
make a DB dump on the source system
insert the DB dump the the cloned system
log into django admin of the new cloned version
upload a “dummy.jpg” filer image
write down the filer image ID (e.g.: 123)
start: $ ./manage.py replace_broken 123
‘template_info’ management command
Activate e.g.:
INSTALLED_APPS = [ ... 'django_cms_tools', ... ]
It looks like:
$ ./manage.py template_info There are 3 public pages: pk:1 /en/ /foo/homepage.html pk:2 /en/foo/ INHERIT pk:3 /en/foo/bar/ INHERIT
‘cms_plugin_info’ management command
Activate e.g.:
INSTALLED_APPS = [ ... 'django_cms_tools', ... ]
It looks like:
$ ./manage.py cms_plugin_info There are 4 CMS plugins: 'Django CMS Tools Test' * RelatedPlugin (Related Plugin) 'Generic' * PlaceholderPlugin (Placeholder) * AliasPlugin (Alias) * TextPlugin (Text)
run test project
.../django-cms-tools$ ./run_test_project_dev_server.sh
or:
.../django-cms-tools$ cd django_cms_tools_test_project/ .../django-cms-tools/django_cms_tools_test_project$ ./manage.py run_test_project_dev_server
running tests
Run all tests in all environment combinations via tox:
$ python3 setup.py tox
Run all tests in current environment via pytest:
$ python3 setup.py test
Django compatibility
django-cms-tools |
Django CMS |
django version |
python |
---|---|---|---|
>=v0.6 |
3.4.x |
v1.11 |
3.5, 3.6, pypy3 |
>=v0.5.1 |
3.4.x |
1.8, v1.11 |
3.5, 3.6, pypy3 |
v0.4.0 |
1.8 |
2.7, 3.5, 3.6 |
|
v0.1.x |
1.8 |
2.7, 3.4, 3.5 |
Currently Django CMS v3.5 is not supported, yet. It’s on the TODO, see: issues #1 (See also combinations in .travis.yml and tox.ini)
TODO:
Add tests for ‘filer commands’
Support Django CMS v3.5 and run tests against these versions.
Support Django v2.0 and run tests against these versions.
history
dev - compare v0.5.2…master
v0.6.0 - 20.02.2018 - compare v0.5.2…v0.5.3
remove test runs with Django v1.8
NEW: Django-CMS plugin for create “landing pages”
NEW: Django-CMS plugin for build a page anchor menu
NEW: ./manage.py cms_plugin_info to generate a list of all registered Django CMS plugins
v0.5.2 - 10.01.2018 - compare v0.5.1…v0.5.2
enhance and bugfix ‘replace_broken’ command
v0.5.1 - 21.12.2017 - compare v0.5.0…v0.5.1
refactor travis/tox/pytest/coverage stuff
Tests can be run via python3 setup.py tox and/or python3 setup.py test
Test also with pypy3 on Travis CI.
v0.5.0 - 19.12.2017 - compare v0.4.0…v0.5.0
Skip official support for python v2 (remove from text matrix)
NEW: ./manage.py template_info
NEW: ./manage.py cms_page_info
CmsPageCreator API changed:
the string CmsPageCreator.placeholder_slot changed to iterable CmsPageCreator.placeholder_slots
add placeholder argument in CmsPageCreator.get_dummy_text() and CmsPageCreator.get_add_plugin_kwargs()
Bugfix: use always drafts as parent pages (see also: https://github.com/divio/django-cms/pull/6126 )
add unittests
v0.4.0 - 18.09.2017 - compare v0.3.2…v0.4.0
NEW: DummyPageGenerator
NEW: ModelPermissionMixin
misc updates/changes
v0.3.2 - 22.05.2017 - compare v0.3.1…v0.3.2
Bugfix in {% el_pagination_placeholder %} and render all plugins after the tag.
v0.3.1 - 04.05.2017 - compare v0.3.0…v0.3.1
Bugfix in CmsPageCreator: evaluate lazy “language name” translation in the right language (e.g.: e.g.: settings.LANGUAGE_CODE is not “en”)
v0.3.0 - 27.04.2017 - compare v0.2.0…v0.3.0
NEW: django_cms_tools.fixtures.pages.***CmsPageCreator* for creating Django CMS pages in test fixtures
v0.2.0 - 10.04.2017 - compare v0.1.2…v0.2.0
Experimental: Filer management commands: ‘image_info’ and ‘replace_broken’
v0.1.2 - 28.03.2017 - compare v0.1.1…v0.1.2
Change: create pages with translated language name
v0.1.1 - 27.03.2017 - compare v0.1.0…v0.1.1
Fix pypi package stuff
v0.1.0 - 27.03.2017
NEW: create_cms_index_pages
NEW: create_cms_plugin_page
links
Homepage |
|
PyPi |
donation
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 django_cms_tools-0.6.0-py3.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a9782f9a8380b96d6b52a66931bc891bc87cee3e783f9bd22576b25d02e588a |
|
MD5 | 0135f59d26ab534fe64917de48a20a3c |
|
BLAKE2b-256 | 079b06c04d8bcfe11db19a6c6929c7703566ce194247e7b29ae3c36f04eb8f8c |
Hashes for django_cms_tools-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 918b3cc620126c40f8b00164c0bfc61cbac5a662a5773a0170a51a836cd5f8a0 |
|
MD5 | 4c892316878972c230d1039985ef2970 |
|
BLAKE2b-256 | f748ed3268e9d83af47e16c7cdc6620206f61eda2389ffb502678078a94d1342 |