Skip to main content

The versatile stories and blog application for django CMS 4+

Project description

Latest PyPI version Test coverage License
Python versions Django versions django CMS versions

django CMS stories application - Tell your story in multilingual posts, using the full power of django CMS placeholders.

djangocms-stories provides a lean foundation for storytelling that can be composed with other specialized django CMS applications, such as djangocms-versioning or djangocms-moderation.

Features

  • Frontend editing using django CMS frontend editor

  • Placeholder or optionally simpler TextField-based content editing

  • Multilingual support using django-parler

  • Multisite (posts can be visible in one or more Django sites on the same project)

  • Hooks into your page tree anywhere

  • Configurable permalinks, user navigation, template sets, …

  • Multiple instaces per site (e.g., blog, news, stories)

  • Django sitemap framework

  • django CMS Wizard integration

  • Supports djangocms-versioning and djangocms-moderation

Installation

To install the latest version directly from GitHub, run:

pip install git+https://github.com/fsbraun/djangocms-stories.git

Add djangocms_stories to your INSTALLED_APPS in your Django project’s settings.py:

INSTALLED_APPS = [
    # ...
    'djangocms_stories',
    'parler',  # if not already included
    'sortedm2m',  # if not already included

    # For now, but probably not needed in the future
    'taggit',
    'taggit_autosuggest',
    'meta',
    # ...
]

To use taggit’s autosuggest feature, add their URLS in urls.py:

url_patterns += [path('taggit_autosuggest/', include('taggit_autosuggest.urls'))]

Migrating from djangocms-blog

Migrate from djangocms-blog by following the steps below (at your own risk - the migration is under development). Be sure to backup your database before.

  1. Uninstall djangocsms-blog: pip uninstall djangocms-blog

  2. Install djangocms-stories pip install git+https://github.com/fsbraun/djangocms-stories.git

  3. Add "djangocms_stories" to your installed apps. Do not remove djangocms-blog.

  4. Run ./manage.py migrate djangocms_stories. This in migration 0002 will move existing content from djangocms-blog to djangocms-stories and delete djangocms-blogs database tables.

  5. Remove "djangocms_blog" from your installed apps.

Custom templates will need manual updating, since the underlying model structure has changed:

  • post contains the following fields: related, main_image, author, date, categories, tags

  • post_content contiains the following per-language fields: title, subtitle, slug, content, media, and post, the reference to the Post object.

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.

Credits

djangocms-stories is inspired by Nephila’s excellent djangocms-blog, with the intent to bring to align it with django CMS’s new philosophy since version 4: “The design philosophy of django CMS is to solve something complex with many simple things.”

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_stories-0.1.0.tar.gz (116.4 kB view details)

Uploaded Source

Built Distribution

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

djangocms_stories-0.1.0-py3-none-any.whl (141.2 kB view details)

Uploaded Python 3

File details

Details for the file djangocms_stories-0.1.0.tar.gz.

File metadata

  • Download URL: djangocms_stories-0.1.0.tar.gz
  • Upload date:
  • Size: 116.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for djangocms_stories-0.1.0.tar.gz
Algorithm Hash digest
SHA256 04a72f95b2943d347dd2775fe5b1072c3ceb59b4e0c31a2b9336907bb55011b9
MD5 0515e78fbdf8edaaf9af896b40c126c1
BLAKE2b-256 77f2103d2b2fa87158bf861f4d421fc5eaf00e50f501d1dff966561eb67b08fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_stories-0.1.0.tar.gz:

Publisher: publish-to-live-pypi.yml on fsbraun/djangocms-stories

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_stories-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_stories-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68b6a878f331335feaf262ef1a8111d80b15d658d29d77db762980b46b583055
MD5 da9b1f5316a9594592de2dd8d355a444
BLAKE2b-256 ce2e9f7f563f3b8de4ba07bfc5b7257f609c143d6578fdd62edcc90455386e0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_stories-0.1.0-py3-none-any.whl:

Publisher: publish-to-live-pypi.yml on fsbraun/djangocms-stories

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