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
- FileAsset - The base type for all media types that are uploaded to the CMS
- Page - The base type for all web content. This adds a 'path' field giving the content a URL.
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.
Metadata
Release files for mezzecms 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mezzecms-0.1.0.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mezzecms-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.2 kB
Release files / mezzecms-0.1.0.tar.gz
| Download URL | mezzecms-0.1.0.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cbc7b52195aa05d0337602884f99fe74706e65388edbd578ab132606b073857
|
|
BLAKE2b-256 checksum How to use checksums |
18e5ca08b59c1a5e3811758d376d3b2eef3e72a80bf67b25e347cf48473c47fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.11.6 Linux/6.5.0-9-generic
|
Release files / mezzecms-0.1.0-py3-none-any.whl
| Download URL | mezzecms-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6affa62678aba7ddbb304370d2ebc844633a51020a1a6c2ef7ae6972bc5eb34
|
|
BLAKE2b-256 checksum How to use checksums |
52f6a7211e67262574a5e14106b502091351fae2b3f0d63759b5b7d2fdd036b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.11.6 Linux/6.5.0-9-generic
|