Skip to main content

Adds abstract User Interface items as plugins to django CMS.

Project description

pypi Documentation Status coverage PyPI - Python Version PyPI - Django Versions from Framework Classifiers PyPI - django CMS Versions from Framework Classifiers

django CMS Frontend is a versatile plugin suite for django CMS that facilitates the easy creation of reusable frontend components. It supports any CSS framework, allowing developers to seamlessly integrate their preferred styling libraries. For immediate use, it includes a comprehensive set of Bootstrap 5 components and templates.

preview.png

Key features

  • Effortless Development of Custom Components: Create reusable frontend components with ease, utilizing simple templates and declarative form classes. These components can function both as CMS plugins and within standard Django templates. ​

  • Framework-Agnostic Design: Maintain flexibility in your project’s design by decoupling plugins from specific versions of a CSS framework. This ensures that updating frameworks in the future doesn’t necessitate rebuilding your site’s plugin structure. ​

  • Built-in Bootstrap 5 Components: Access a ready-to-use collection of Bootstrap 5 components, streamlining the process of building responsive and modern interfaces. ​

  • Extensibility: Enhance your project by creating custom components with minimal code. The system is designed to be extended both within individual projects and through separate theme applications. ​

  • Consistent User Experience: Utilize plugins as UI components throughout your project, promoting a cohesive and uniform user interface. ​

Description

Designed to be framework-agnostic, django CMS Frontend allows developers to select and change CSS frameworks by adjusting project settings, eliminating the need to reconstruct the CMS plugin tree when upgrading or switching frameworks. It leverages django-entangled to store design parameters in a common JSON field, preventing database bloat and facilitating seamless updates to frontend features.

By providing a suite of Bootstrap 5-based components for layout structuring, including grids, components, and forms, django CMS Frontend simplifies the process of building responsive and structured page designs. Developers can also create custom components with minimal code, ensuring a consistent and efficient development experience.

It is up to you which (if any at all) pre-built components you want to include in your project. Each set of components is a separate package you can include in your project’s INSTALLED_APPS.

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.11 or later

  • django-filer, version 1.7 or later

  • djangocms-attributes-field, version 1.0 or later

  • djangocms-text

  • djangocms-link

  • django-entangled 0.6 or later

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

As of djangocms-frontend 2.0, djangocms-link is needed to use the Link/Button plugin.

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_link',  # Needed for link support
    
    # Base package template components and custom components
    'djangocms_frontend',
    
    # Add built-in Bootstrap 5 components as needed
    '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.

Project details


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.3.0.tar.gz (6.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

djangocms_frontend-2.3.0-py3-none-any.whl (4.6 MB view details)

Uploaded Python 3

File details

Details for the file djangocms_frontend-2.3.0.tar.gz.

File metadata

  • Download URL: djangocms_frontend-2.3.0.tar.gz
  • Upload date:
  • Size: 6.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for djangocms_frontend-2.3.0.tar.gz
Algorithm Hash digest
SHA256 c55a638749685a43e5e53f2f5850ad7dc510c32e271e33dcaef5fe4c931752ee
MD5 f7ebbde6965ead29a19a931d987941f3
BLAKE2b-256 335b979075b6d46292cfb9a8489a06afdaca4a9900d365b512277bbbf43e789b

See more details on using hashes here.

Provenance

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

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file djangocms_frontend-2.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_frontend-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1b42436e8534a6c51aad67fc1b69bdd7db0f0cb1bbade2decd1fb97100d68be
MD5 d5faa399aa50cacbf429759475b3d6bd
BLAKE2b-256 1bb2fcba2c5380597a1a7776b7cba14ec242cd41a35e7593fe3262e6346d4ba0

See more details on using hashes here.

Provenance

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

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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