Skip to main content

An open source content management platform built using the Django framework.

Project description

https://secure.travis-ci.org/stephenmcd/mezzanine.png?branch=master

Overview

Mezzanine is a content management platform built using the Django framework. It is BSD licensed and designed to provide both a consistent interface for managing content, and a simple, extensible architecture that makes diving in and hacking on the code as easy as possible.

Mezzanine resembles tools like Wordpress, with an intuitive interface for managing pages, blog posts, form data, store products, or any other type of content you can imagine. Mezzanine takes a different approach from other Django applications in this space like Pinax or Mingus that glue together a lot of reusable apps, instead opting to provide most of its functionality included with the project by default.

Visit the Mezzanine project page to see some of the great sites people have built using Mezzanine.

Features

On top of all the usual features provided by Django such as MVC architecture, ORM, templating, caching and the automatic admin interface, Mezzanine provides the following features:

The Mezzanine admin dashboard:

http://github.com/stephenmcd/mezzanine/raw/master/docs/img/dashboard.png

Dependencies

Mezzanine has no explicit dependencies apart from a standard Django environment using:

Mezzanine is designed however to be used most effectively in conjunction with the following libraries:

Browser Support

Mezzanine’s admin interface works with all modern browsers. Internet Explorer 7 and earlier are generally unsupported.

Installation

The easiest method is to install directly from pypi using pip or setuptools by running the respective command below, which will also attempt to install the dependencies mentioned above:

$ pip install -U mezzanine

or:

$ easy_install -U mezzanine

Otherwise you can download Mezzanine and install it directly from source:

$ python setup.py install

Once installed, the command mezzanine-project should be available which can be used for creating a new Mezzanine project in a similar fashion to django-admin.py:

$ mezzanine-project project_name

You can then run your project with the usual Django steps:

$ cd project_name
$ python manage.py createdb --noinput
$ python manage.py runserver

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 when running createdb.

Integrating an Existing Django Project

Mezzanine is structured as a regular Django project, and as such allows you to add other third party Django apps to your Mezzanine project as required. Inversely, you can add Mezzanine to an existing project by copying the relevant parts from Mezzanine’s project_template package:

  • Settings defined in the settings module.

  • URL patterns defined in the urls module.

  • Static assets in the site_meda directory.

Take the time to look over Mezzanine’s project_template.settings module, as it contains many optional settings commented out. Of particular note when integrating with an existing project are the following:

  • INSTALLED_APPS

  • TEMPLATE_CONTEXT_PROCESSORS

  • MIDDLEWARE_CLASSES

  • PACKAGE_NAME_* (for django-grappelli and django-filebrowser integration)

  • The call to mezzanine.utils.conf.set_dynamic_settings at the very end of the settings module.

Contributing

Mezzanine is an open source project that is managed using both 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.

Please note the following points around contributing:

  • Contributed code must be written in the existing style. This is as simple as following the Django coding style and most importantly PEP 8.

  • Contributions must be available on a separately named branch that is based on the latest version of the main branch.

  • Run the tests before committing your changes. If your changes causes the tests to break, they won’t be accepted.

  • If you’re adding new functionality, you must include basic tests and documentation.

Third-party Modules

The following modules have been developed outside of Mezzanine. If you have developed a module to integrate with Mezzanine and would like it listed here, send an email to the mezzanine-users mailing list.

Donating

If you would like to make a donation to continue development of the project, you can do so via the Mezzanine Project website.

Support

For general questions or comments, please join the mezzanine-users mailing list. To report a bug or other type of issue, please use the GitHub issue tracker.

Sites Using Mezzanine

Quotes

  • “I am enjoying working with Mezzanine - it is good work.” - Van Lindberg

  • “Mezzanine looks pretty interesting - tempting to get me off Wordpress.” - Jesse Noller

  • “Mezzanine is amazing.” - Audrey Roy

  • “Mezzanine convinced me to switch from the Ruby world over to Python.” - Michael Delaney

  • “Impressed with Mezzanine so far.” - Brad Montgomery

  • “From the moment I installed Mezzanine, I have been delighted, both with the initial experience and the community involved in its development.” - John Campbell

  • “You need to check out the open source project Mezzanine. In one word: Elegant.” - Nick Hagianis

  • “Who came up with the name Mezzanine? I love it, like a platform between the client’s ideas and their published website. Very classy!” - Stephen White

Project details


Release history Release notifications | RSS feed

This version

1.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Mezzanine-1.0.0.tar.gz (3.5 MB view details)

Uploaded Source

File details

Details for the file Mezzanine-1.0.0.tar.gz.

File metadata

  • Download URL: Mezzanine-1.0.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Mezzanine-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7eae6701d5fffa0ef18fb6881ed69c643808e22b57875dcc604bd7aebc451bec
MD5 72b04d300d3d68ed7a31096d0629b029
BLAKE2b-256 6dddff7767771a4aaaed00bca4690b98d69ed4603950915696d41b654b1f3c0f

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