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

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mezzecms-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 mezzecms-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4cbc7b52195aa05d0337602884f99fe74706e65388edbd578ab132606b073857
MD5 26586beef6d97c1154a89501e063c8bd
BLAKE2b-256 18e5ca08b59c1a5e3811758d376d3b2eef3e72a80bf67b25e347cf48473c47fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mezzecms-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 mezzecms-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6affa62678aba7ddbb304370d2ebc844633a51020a1a6c2ef7ae6972bc5eb34
MD5 ce791b45792b3bfd7af6da12acc19247
BLAKE2b-256 52f6a7211e67262574a5e14106b502091351fae2b3f0d63759b5b7d2fdd036b6

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