Skip to main content

Adds abstract User Interface items as plugins to django CMS.

Project description

pypi Documentation Status coverage python django djangocms djangocms4

django CMS Frontend is a plugin bundle which originally built on and improved the architecture of djangocms-bootstrap4. Its objective is to provide a toolset to quickly create re-usable frontend components and comes preloaded with a set of popular frontend components independent of the currently used frontend framework such as Bootstrap, or its specific version.

preview.png

Key features

  • Easy to implement re-usable frontend custom components, which in the simplest case consist of a template and declarative sort of form class.

  • Support of Bootstrap 5, django CMS 3.8+ and django CMS 4 out of the box.

  • Separation of plugins from css framework, i.e. no need to rebuild you site’s plugin tree if css framework is changed in the future, e.g. from Bootstrap 5 to a future version.

  • Leverage of new djangocms-link features allowing to link to internal pages provided by other applications, such as djangocms-blog.

  • Nice and well-arranged admin frontend of djangocms-bootstrap4

  • Extensible within the project and with separate project (e.g. a theme app). Create your own components with a few lines of code only.

  • Plugins are re-usable as UI components anywhere in your project (e.g. in a custom app) giving your whole project a more consistent user experience.

Description

The plugins are framework agnostic and the framework can be changed by adapting your project’s settings. Also, it is designed to avoid having to rebuild your CMS plugin tree when upgrading e.g. from one version of your frontend framework to the next.

django CMS Frontend uses django-entangled by Jacob Rief to avoid bloating your project’s database with css framework-dependent tables. Instead all design parameters are stored in a common JSON field and future releases of improved frontend features will not require to rebuild your full plugin tree.

The plugins are designed to be re-usable as UI components in your project, e.g. in a custom app, giving your whole project a more consistent user experience.

Contributing

Because this is a an open-source project, we welcome everyone to get involved in the project and receive a reward for their contribution. Become part of a fantastic community and help us make django CMS the best CMS in the world.

We’ll be delighted to receive your feedback in the form of issues and pull requests. Before submitting your pull request, please review our contribution guidelines.

The project makes use of git pre-commit hooks to maintain code quality. Please follow the installation steps to get pre-commit setup in your development environment.

We’re grateful to all contributors who have helped create and maintain this package. Contributors are listed at the contributors section.

One of the easiest contributions you can make is helping to translate this addon on Transifex.

Requirements

See REQUIREMENTS in the setup.py file for additional dependencies:

  • django-cms, version 3.7 or later

  • django-filer, version 1.7 or later

  • djangocms-attributes-field, version 1.0 or later

  • djangocms-text

  • django-entangled

Make sure django Filer and django CMS Text CKEditor are installed and configured appropriately.

Installation

For a manual install:

  • run pip install djangocms-frontend

  • add the following entries to your INSTALLED_APPS (or only those you need):

    'easy_thumbnails',
    'djangocms_frontend',
    'djangocms_frontend.contrib.accordion',  # optional
    'djangocms_frontend.contrib.alert',  # optional
    'djangocms_frontend.contrib.badge',  # optional
    'djangocms_frontend.contrib.card',  # optional
    'djangocms_frontend.contrib.carousel',  # optional
    'djangocms_frontend.contrib.collapse',  # optional
    'djangocms_frontend.contrib.content',  # optional
    'djangocms_frontend.contrib.grid',  # optional
    'djangocms_frontend.contrib.icon',  # optional
    'djangocms_frontend.contrib.image',  # optional
    'djangocms_frontend.contrib.jumbotron',  # optional
    'djangocms_frontend.contrib.link',  # optional
    'djangocms_frontend.contrib.listgroup',  # optional
    'djangocms_frontend.contrib.media',  # optional
    'djangocms_frontend.contrib.tabs',  # optional
    'djangocms_frontend.contrib.utilities',  # optional
  • run python manage.py migrate

djangocms-frontend has a weak dependencies on djangocms-icon you can install separately or by adding an option:

pip install djangocms-frontend[djangocms-icon]  # Installs djangocms-icon for icon support in links

Documentation

See readthedocs for the documentation.

License

See LICENSE.

Download files

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

Source Distribution

djangocms_frontend-2.0.0a1.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

djangocms_frontend-2.0.0a1-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

Details for the file djangocms_frontend-2.0.0a1.tar.gz.

File metadata

  • Download URL: djangocms_frontend-2.0.0a1.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for djangocms_frontend-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 9d872dcbaee3c867553a1d79e7e5685eec5b1b915f29c95464711724bcc12619
MD5 1cb64d8a15659c4354d149c3cbde3756
BLAKE2b-256 455fbf2441be7974601a6e240508ebd705050fa6362ed7de463a13c4e17de39a

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_frontend-2.0.0a1.tar.gz:

Publisher: publish-to-live-pypi.yml on django-cms/djangocms-frontend

Attestations:

File details

Details for the file djangocms_frontend-2.0.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_frontend-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 8db57f0dc7a1a929b0b56981070247a0e0ca39e83f29c2c8bb33f9a98b8ddaa6
MD5 1064139a2a02279240fb07bdd59affd2
BLAKE2b-256 d31d591820bf82ea8e0fd20bbb1c802067a38a5588b770ce065d4866902caa6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_frontend-2.0.0a1-py3-none-any.whl:

Publisher: publish-to-live-pypi.yml on django-cms/djangocms-frontend

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page