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

Created by Stephen McDonald

Overview

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 that provide 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.

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

Features

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

  • Shopping cart module (Cartridge)

  • Configurable dashboard widgets

  • Blog engine

  • Tagging

  • User accounts and profiles with email verification

  • Translated to over 20 languages

  • Sharing via Facebook or Twitter

  • 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:

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), with the following dependencies:

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 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 django-admin.py:

$ mezzanine-project project_name
$ 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.

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

Contributing

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.

Please note the following guidelines for 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 based on the latest version of the main branch.

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

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

If you want to do development with mezzanine, here’s a quick way to set up a development environment and run the unit tests, using virtualenvwrapper to set up a virtualenv:

$ mkvirtualenv mezzanine
$ workon mezzanine
$ pip install Django pep8 pyflakes
$ git clone https://github.com/stephenmcd/mezzanine/
$ cd mezzanine
$ python setup.py develop
$ cp mezzanine/project_template/local_settings.py.template mezzanine/project_template/local_settings.py
$ ./mezzanine/project_template/manage.py test

Language Translations

Mezzanine makes full use of translation strings, which allow Mezzanine to be translated into multiple languages using Django’s internationalization methodology. Translations are managed on the Transiflex website but can also be submitted via GitHub or Bitbucket. Consult the documentation for Django’s internationalization methodology for more information on creating translations and using them.

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 to list it here, send an email to the mezzanine-users mailing list. You can also add modules to the Mezzanine Grid on djangopackages.com.

Donating

If you would like to make a donation to continue development of Mezzanine, 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 the issue and create an official release 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. And feel free to drop by the #mezzanine IRC channel on Freenode, for a chat.

Communications in all Mezzanine spaces are expected to conform to the Django Code of Conduct.

Sites Using Mezzanine

Quotes

Project details


Release history Release notifications | RSS feed

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.4.7.tar.gz (5.4 MB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for Mezzanine-1.4.7.tar.gz
Algorithm Hash digest
SHA256 dc4b9b3d7fef933fb978e69f0508d958675e0909ab3a1507e8f5433cb73d20d4
MD5 3bff0faf069b3c4d8eb4e9a829f77e63
BLAKE2b-256 3d78d6ad7711af766ec006f7e9bd3439ea792764ca9d6151b663ad74c0cbaf84

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