Skip to main content

Open-source Headless CMS powered by Django

Project description

MezzeCMS

Mezze is a ready-to-go, open-source, headless CMS written in Python and Django.

Unlike many other Python/Django CMSes, Mezze doesn't require any coding to get started, but you can drop in to Django if you need to customise things.

Installation

pip install mezzecms
mezze migrate
mezze createsuperuser
mezze runserver

This will create an SQLite database in the local folder, create a user and boot up Mezze on localhost port 8000.

Using PostgreSQL

You can pass in the URL to a PostgreSQL database using a DATABASE_URL environment variable:

export DATABASE_URL=postgresql://localhost/mezzedb
mezze migrate
mezze createsuperuser
mezze runserver

Design of Mezze

Built-in types

Mezze comes with a selection of pre-built content types that are built in to the base system and cannot be changed. You can either use these types directly or create custom types based on them that are extended with custom fields. All of these types are optional and can be disabled if not required.

  • Content - The base type for all content, this includes some metadata such as the title, locale, status, and more
    • Page - The base type for all web content. This adds a 'path' field giving the content a URL.
      • Post - Represents point-in-time content such as blog posts, news articles, video pages, etc.
      • Event - Represents event information and adds calendar export functionality
      • Person - Represents a person
      • Product - Represents a product for sale
    • Asset - The base type for embeddable content, these are displayed in the "Assets" section of the UI
      • FileAsset - The base type for all media types that are uploaded to the CMS
        • Image - Represents images uploaded to the CMS, includes extra fields for image size. Provides functions for resizing and cropping the images
        • Document - Represents multi-page document files such as PDFs
      • MuxVideo - Represents a video uploaded to Mux.io
      • SocialMediaPost - Represents any post uploaded to a social media platform

Design note: We decided to provide these types out of the box so that we can provide a standard base for extensions to integrate with. For example, a Shopify extension would be able to know exactly what the base fields of Product are.

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

mezza-0.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

mezza-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mezza-0.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.5.0-9-generic

File hashes

Hashes for mezza-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fb1f6ee7eb95512c0cbe8afc229c80a27bdc5fdc3b2fa447d43f316bb1b69627
MD5 0d64037eaff961a89285089b7d579ced
BLAKE2b-256 2a30828b1d9b0fd7ae511fe8cd559baf0a29a7344b4ddb22e06476f84abf8ba0

See more details on using hashes here.

File details

Details for the file mezza-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mezza-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.5.0-9-generic

File hashes

Hashes for mezza-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 460f2a019dd8966b0b47190b600f4cdec02391795ecde1ad6f1301599ac1af0f
MD5 eabb0e851dfe7bdba5c8958e46793447
BLAKE2b-256 27d6e06078ff1cbfbb9972fbcdd8b034abb7659c7db8cef66e581d6f0a072bc2

See more details on using hashes here.

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