Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close
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 makes use of as few libraries as possible, apart from a standard Django environment. The following dependencies are used:

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 by running the respective command below, which will also install the required dependencies mentioned above:

$ pip install -U mezzanine

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

$ python setup.py install

If you want to use the South package for automatic database migrations, you should install it now:

$ pip install -U south

or:

$ easy_instal -U south

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

Note

The createdb is a shortcut for using Django's syncdb command and setting the initial migration state for South. You can alternatively use syncdb and migrate if preferred. South is automatically added to INSTALLED_APPS if settings.USE_SOUTH = True.

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.

For information on how to add Mezzanine to an existing Django project, see the FAQs section of the documentation.

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

To report a security issue, please send an email privately to security@jupo.org. This gives us a chance to fix this issue and create an official release for it, prior to the issue being made public.

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.

Quotes

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.