Created by Stephen McDonald
Mezzanine is a powerful, consistent, and flexible content management platform. Built using the Django framework, Mezzanine provides a simple yet highly extensible architecture that encourages diving in and hacking on the code. Mezzanine is BSD licensed and supported by a diverse and active community.
In some ways, Mezzanine resembles tools such as Wordpress, providing an intuitive interface for managing pages, blog posts, form data, store products, and other types of content. But Mezzanine is also different. Unlike many other platforms that make extensive use of modules or reusable applications, Mezzanine provides most of its functionality by default. This approach yields a more integrated and efficient platform.
In addition to the usual features provided by Django such as MVC architecture, ORM, templating, caching and an automatic admin interface, Mezzanine provides the following:
- Hierarchical page navigation
- Save as draft and preview on site
- Scheduled publishing
- Drag-and-drop page ordering
- WYSIWYG editing
- In-line page editing
- Drag-and-drop HTML5 forms builder with CSV export
- SEO friendly URLs and meta data
- Ecommerce / Shopping cart module (Cartridge)
- Configurable dashboard widgets
- Blog engine
- Free Themes, and a Premium Themes Marketplace
- User accounts and profiles with email verification
- Translated to over 35 languages
- Sharing via Facebook or Twitter
- Multi-lingual sites
- Custom templates per page or blog post
- Twitter Bootstrap integration
- API for custom content types
- Search engine and API
- Seamless integration with third-party Django apps
- Multi-device detection and template handling
- One step migration from other blogging engines
- Automated production provisioning and deployments
- Disqus integration, or built-in threaded comments
- Gravatar integration
- Google Analytics integration
- Twitter feed integration
- bit.ly integration
- Akismet spam filtering
- Built-in test suite
- JVM compatible (via Jython)
The Mezzanine admin dashboard:
To report a security issue, please send an email privately to firstname.lastname@example.org. This gives us a chance to fix the issue and create an official release prior to the issue being made public.
For all other Mezzanine support, the primary channel is the mezzanine-users mailing list. Questions, comments, issues, feature requests, and all other related discussions should take place here.
If you’re certain you’ve come across a bug, then please use the GitHub issue tracker, however it’s crucial that enough information is provided to reproduce the bug, ideally with a small code sample repo we can simply fork, run, and see the issue with. Other useful information includes things such as the Python stack trace generated by error pages, as well as other aspects of the development environment used, such as operating system, database, and Python version. If you’re not sure you’ve found a reproducible bug, then please try the mailing list first.
Mezzanine is an open source project managed using both the Git and Mercurial version control systems. These repositories are hosted on both GitHub and Bitbucket respectively, so contributing is as easy as forking the project on either of these sites and committing back your enhancements.
If you would like to make a donation to continue development of Mezzanine, you can do so via the Mezzanine Project website.
- “I’m enjoying working with Mezzanine, it’s good work” - Van Lindberg, Python Software Foundation chairman
- “Mezzanine looks like it may be Django’s killer app” - Antonio Rodriguez, ex CTO of Hewlett Packard, founder of Tabblo
- “Mezzanine looks pretty interesting, tempting to get me off Wordpress” - Jesse Noller, Python core contributor, Python Software Foundation board member
- “I think I’m your newest fan. Love these frameworks” - Emile Petrone, integrations engineer at Urban Airship
- “Mezzanine is amazing” - Audrey Roy, founder of PyLadies and Django Packages
- “Mezzanine convinced me to switch from the Ruby world over to Python” - Michael Delaney, developer
- “Like Linux and Python, Mezzanine just feels right” - Phil Hughes, Linux For Dummies author, The Linux Journal columnist
- “Impressed with Mezzanine so far” - Brad Montgomery, founder of Work For Pie
- “From the moment I installed Mezzanine, I have been delighted, both with the initial experience and the community involved in its development” - John Campbell, founder of Head3 Interactive
- “You need to check out the open source project Mezzanine. In one word: Elegant” - Nick Hagianis, developer
The easiest method is to install directly from pypi using pip by running the command below, which will also install the required dependencies mentioned above:
$ pip install mezzanine
If you prefer, you can download Mezzanine and install it directly from source:
$ python setup.py install
Once installed, the command
mezzanine-project can be used to
create a new Mezzanine project in similar fashion to
$ mezzanine-project project_name $ cd project_name $ python manage.py createdb --noinput $ python manage.py runserver
createdb command is a shortcut for using Django’s
migrate command, which will also install some demo content,
such as a contact form, image gallery, and more. If you’d like to
omit this step, use the
--nodata option with
You should then be able to browse to http://127.0.0.1:8000/admin/ and
log in using the default account (
username: admin, password:
default). If you’d like to specify a different username and password
during set up, simply exclude the
--noinput option included above
For information on how to add Mezzanine to an existing Django project, see the FAQ section of the documentation.
Mezzanine makes use of as few libraries as possible (apart from a standard Django environment), with the following dependencies, which unless noted as optional, should be installed automatically following the above instructions:
- Python 2.7 to 3.6
- Django 1.8 to 1.10
- django-contrib-comments - for built-in threaded comments
- Pillow - for image resizing (Python Imaging Library fork)
- grappelli-safe - admin skin (Grappelli fork)
- filebrowser-safe - for managing file uploads (FileBrowser fork)
- bleach and BeautifulSoup - for sanitizing markup in content
- pytz and tzlocal - for timezone support
- chardet - for supporting arbitrary encoding in file uploads
- django-modeltranslation - for multi-lingual content (optional)
- django-compressor - for merging JS/CSS assets (optional)
- requests and requests_oauthlib - for interacting with external APIs
- pyflakes and pep8 - for running the test suite (optional)
Users on Debian or Ubuntu will require some system packages to support the imaging library:
$ apt-get install libjpeg8 libjpeg8-dev $ apt-get build-dep python-imaging
OSX users can do the same via Homebrew:
$ brew install libjpeg
Mezzanine’s admin interface works with all modern browsers. Internet Explorer 7 and earlier are generally unsupported.
The following plug-ins have been developed outside of Mezzanine. If you have developed a plug-in to integrate with Mezzanine and would like to list it here, send an email to the mezzanine-users mailing list, or better yet, fork the project and create a pull request with your plug-in added to the list below. We also ask that you add it to the Mezzanine Grid on djangopackages.com.
- Cartridge - ecommerce for Mezzanine.
- Drum - A Hacker News / Reddit clone powered by Mezzanine.
- mezzanine-html5boilerplate - Integrates the html5boilerplate project into Mezzanine.
- mezzanine-mdown - Adds Markdown support to Mezzanine’s rich text editor.
- mezzanine-openshift - Setup for running Mezzanine on Redhat’s OpenShift cloud platform.
- mezzanine-stackato - Setup for running Mezzanine on ActiveState’s Stackato cloud platform.
- mezzanine-blocks - A Mezzanine flavored fork of django-flatblocks.
- mezzanine-widgets - Widget system for Mezzanine.
- mezzanine-themes - A collection of Django/Mezzanine templates.
- mezzanine-twittertopic - Manage multiple Twitter topic feeds from the Mezzanine admin interface.
- mezzanine-captcha - Adds CAPTCHA field types to Mezzanine’s forms builder app.
- mezzanine-bookmarks - A multi-user bookmark app for Mezzanine.
- mezzanine-events - Events plugin for Mezzanine, with geocoding via Google Maps, iCalendar files, webcal URLs and directions via Google Calendar/Maps.
- mezzanine-polls - Polls application for Mezzanine.
- mezzanine-pagedown - Adds the Pagedown WYSIWYG editor to Mezzanine.
- mezzanine-careers - Job posting application for Mezzanine.
- mezzanine-recipes - Recipes plugin with built-in REST API.
- mezzanine-slides - Responsive banner slides app for Mezzanine.
- mezzyblocks - Another app for adding blocks/modules to Mezzanine.
- mezzanine-flexipage - Allows designers to manage content areas in templates.
- mezzanine-instagram - A simple Instagram app for Mezzanine.
- mezzanine-wiki - Wiki app for Mezzanine.
- mezzanine-calendar - Calendar pages in Mezzanine
- mezzanine-facebook - Simple Facebook integration for Mezzanine.
- mezzanine-instagram-gallery - Create Mezzanine galleries using Instagram images.
- mezzanine-cli - Command-line interface for Mezzanine.
- mezzanine-categorylink - Integrates Mezzanine’s Link pages with its blog categories.
- mezzanine-podcast - A simple podcast streamer and manager for Mezzanine.
- mezzanine-linkcollection - Collect links. Feature them. Share them over RSS.
- cash-generator - Generate GnuCash invoices with Mezzanine.
- mezzanine-foundation - Zurb Foundation theme for Mezzanine.
- mezzanine-file-collections - Simple file collection page type for Mezzanine.
- mezzanine-wymeditor - WYMeditor adapted as the rich text editor for Mezzanine.
- mezzanine-meze - Adds support for reStructuredText, Pygments and more, to Mezzanine’s rich text editing.
- mezzanine-pageimages - Add background and banner images per page in Mezzanine.
- mezzanine-protected-pages - Restrict access to pages by group membership.
- mezzanine-page-auth - A Mezzanine module for add group-level permission to pages.
- django-widgy - Widget-oriented content editing. Includes an adapter for Mezzanine and a powerful form builder.
- mezzanine-admin-backup - Export your Mezzanine database and assets directly from the admin.
- mezzanine-mailchimp - Integrate Mezzanine forms with a MailChimp subscription list.
- mezzanine-grappelli - Integrates latest upstream grappelli/filebrowser with Mezzanine.
- mezzanine-workout - Store and display FIT data in Mezzanine.
- mezzanine-agenda - Event functionality for your Mezzanine sites.
- mezzanine-dpaste - Integrate dpaste, a Django pastebin, into your Mezzanine site.
- mezzanine-linkdump - Create, display and track links in Mezzanine.
- mezzanine-people - Categorize and list people in Mezzanine.
- mezzanine-webf - Fabfile for deploying Mezzanine to Webfaction.
- mezzanineopenshift Another setup for Redhat’s OpenShift cloud platform.
- mezzanine-bsbanners - Add Twitter Bootstrap Carousels and Jumbotrons to Mezzanine.
- mezzanine-business-theme - Starter business theme for Mezzanine.
- open-helpdesk - A helpdesk app built with Mezzanine.
- mezzanine-invites - Allow site registration via alphanumeric invite codes.
- ansible-mezzanine - Full pipeline (dev, staging, production) deployment of Mezzanine using Ansible.
- mezzanine-modal-announcements - Popup announcements for Mezzanine websites via Bootstrap modals.
- mezzanine-buffer - Buffer integration for Mezzanine.
- mezzanine-slideshows - Allows placement of Mezzanine galleries within other Mezzanine pages as slideshows.
- mezzanine-onepage - Design helper for single-page Mezzanine sites.
- mezzanine-api - RESTful web API for Mezzanine.
- mezzanine-smartling - Integrates Mezzanine content with Smartling Translations.
- mezzanine-shortcodes - Wordpress shortcodes for Mezzanine.
Sites Using Mezzanine¶
Got a site built with Mezzanine? You can add it to the gallery on the Mezzanine project page by adding it to the list below - just fork the project and create a pull request. Please omit the trailing slash in the URL, as we manually add that ourselves to feature certain sites.
- Citrus Agency
- Mezzanine Project
- Nick Hagianis
- Thomas Johnson
- Central Mosque Wembley
- Ovarian Cancer Research Foundation
- The Source Procurement
- Brad Montgomery
- Jashua Cloutier
- Alpha & Omega Contractors
- Equity Advance
- Head3 Interactive
- Ripe Maternity
- Cotton On
- List G Barristers
- Tri-Cities Flower Farm
- ARA Consultants
- Boîte à Z’images
- The Melbourne Cup
- Diablo News
- Goldman Travel
- IJC Digital
- Joe Julian
- Sheer Ethic
- Salt Lake Magazine
- Boca Raton Magazine
- Elephant Juice Soup
- National Positions
- Like Humans Do
- Connecting Countries
- Environmental World Products
- Ross A. Laird
- Etienne B. Roesch
- Mod Productions
- Pink Twig
- Parfume Planet
- Trading 4 Us
- Chris Fleisch
- My Story Chest
- Philip Sahli
- Raymond Chandler
- Matthe Wahn
- Bit of Pixels
- European Crystallographic Meeting
- UT Dallas
- Go Yama
- Yeti LLC
- Li Xiong
- Prince Jets
- 30 sites in 30 days
- St Barnabas’ Theological College
- Helios 3D
- Life is Good
- Building 92
- Pie Monster
- Cotton On Asia
- Ivan Diao
- Super Top Secret
- Jaybird Sport
- Manai Glitter
- Sri Emas International School
- Boom Perun
- Tactical Bags
- Hunted Hive
- The Beancat Network
- Raquel Marón
- Hospitality Quotient
- The Andrew Story
- Charles Koll Jewelry
- Creuna (com/dk/fi/no/se)
- Coronado School of the Arts
- Dashing Collective
- Puraforce Remedies
- Google’s VetNet
- Evenhouse Consulting
- Humboldt Community Christian School
- Atlanta’s Living Legacy
- Medical Myth Busters
- 4player Network
- Top500 Supercomputers
- Die Betroffenen
- Dominican Python
- ACE EdVenture Programme
- Butchershop Creative
- Sam Kingston
- Ludwig von Mises Institute
- Alexander Lillevik
- Walk In Tromsø
- Mandrivia Linux
- Crown Preschool
- Coronado Pathways Charter School
- Raindrop Marketing
- The Peculiar Store
- Kabu Creative
- Your Song Your Story
- Copilot Co
- Gold’s Gym Utah
- Appsin - Blog to Native app
- Take Me East
- Code Raising
- ZigZag Bags
- Clic TV
- JE Rivas
- Heather Gregory Nutrition
- Coronado Island Realty
- Loans to Homes
- Gensler Group
- Grupo Invista
- Brooklyn Navy Yard
- Nektra Advanced Computing
- Bootstrap ASAP
- California Center for Jobs
- Sam Kingston
- Code Juggle DJ
- Food News
- Australian Discworld Conventions
- Arkade Snowboarding
- Linktective The Link Checker
- Make-Up Artists & Hair Stylists Guild
- Assistive Listening Device Locator
- Frank & Connie Spitzer
- Coronado Unified School District
- Coronado Inn
- Coronado Schools Foundation
- Light and Life Christian School
- The Morabito Group
- Law Offices of Nancy Gardner
- Soden & Steinberger APLC
- Stalwart Communications
- Ubuntu Consultants
- Wine a Bit Coronado
- Mercury Mastering
- Shibe Mart
- Carlos Isaac Balderas
- Enrico Tröger
- Batista Peniel
- Guddina Coffee
- Atami Escape Resort
- Philip Southwell
- Justine & Katie’s Bowtique
- The Grantwell LLC
- PyCon Asia-Pacific
- Arlette Pichardo
- Sani Dental Group
- Biocap 06
- Python Baja California
- The Art Rebellion
- Engineered Arts
- Paul Whipp Consulting
- Lipman Art
- MODCo Group
- Terminal Labs
- Resource Management Companies
- Open ERP Arabia
- New Zealand Institute of Economic Research
- Triple J Products
- Aaron E. Balderas
- Constantia Fabrics
- Potrillo al Pie
- Skyfalk Web Studio
- Firefox OS Partners
- You Name It
- Atlas of Human Infectious Diseases
- The Entrepreneurial School
- Wednesday Martin
- Avaris to Avanim
- Cognitions Coaching and Consulting
- Foundation Engineering Group
- Oceana Technologies
- Joshua Ginsberg
- Savant Digital
- Oxfam America
- Dark Matter Sheep
- Mission Healthcare
- Two Forty Fives
- Rodeo Austin
- Intentional Creation
- Debra Solomon
- Pampanga Food Company
- Aman Sinaya
- Deschamps osteo
- Deschamps kine
- App Dynamics
- Homespun Music Instruction
- The Street University
- CeoDental Seminars
- Pay By Super
- Brisbane Prosthodontics
- Derry Donnell
- Dr Kenneth Cutbush
- American Institute for Foreign Study
- Camp America
- Code Source
- The Federation of Egalitarian Communities
- Caffeinated Lifestyle