Mezzanine, a Django powered CMS, reaches 1.0
groups.google.com
groups.google.com
I've been evaluating Django cms's over the last couple days and have narrowed it down to Mezzanine or django-cms. Would love to hear if anyone (especially developers from either package) has any compelling arguments for one vs the other.
We are now using Hyde, which is incredibly flexible (it's just files) and which is about as fast as a CMS can get (hyde is statically generated). I recommend taking a look.
We are currently working to more tightly integrate django with hyde (i.e., share templates, {% url foo %} across both worlds).
I can't really comment objectively on Django CMS, as I've had no exposure to it. Too busy working on Mezzanine.
I did at one point take at look at their page model, which I imagine in both projects is the heart of the CMS. It was a relative mess compared to Mezzanine's, which has always strictly strived to keep a painstakingly clean code base and design, to make jumping in and hacking on as easy as possible.
I've also seen a lot more complaints from frustrated Django CMS users than I have with Mezzanine, many of those who have come to Mezzanine afterwards and really enjoyed it. But that is most likely a result of Django CMS being much more popular - something Mezzanine has a much harder time achieving without a generic name :-)
But please, take that comparison with a grain of salt. Go ahead and try both!
side-note: How about a rename to something with django in it? i.e Better Django CMS?
Personally, Mezzanine does not rolls right off my tongue and my brain is just refusing to memorize it.
Mezzanine also contains automated thumbnailing for any images at the template level: http://mezzanine.jupo.org/docs/packages.html#mezzanine.core....
Can't help you out with the project name however, sorry :-)
Note: I don't actually have much/any experience with Django-CMS so I can't make a fair comparison.
The documentation seems to indicate that you really need to start with a Mezzanine project, and then add all your Django bits. It makes a lot of sense for a huge number of sites, but perhaps not so much for the type of projects that are primarily need an easy editor for just a few pages of the overall site.
The `mezzanine-project myproject` bootstrapping command should be just an optional shortcut for projects which are completely CMS-based. Which, in my experience, is the minority of projects.
http://mezzanine.jupo.org/docs/overview.html#integrating-an-...
You basically just need to add the relevant settings and urlpatterns.
I was also unsure how to get (South?) to update to my Postgre db instead of the dev.db.
Mezzanine 1.0 makes full use of Django's staticfiles app. With DEBUG enabled, all your static content will be served dynamically from within each app's static directory. Once DEBUG is off, as you'd do for production, you need to run the collectstatic command to move all those files into a single static directory, which you then alias to in your web server's config, be it Apache, NGINX or something else.
https://docs.djangoproject.com/en/dev/howto/static-files/
As for your database settings, simply define those in your project's settings module. Mezzanine will create a local_settings module for you with the SQLite settings defined for development. This shouldn't be checked into version control, as it will be different per environment.
https://docs.djangoproject.com/en/dev/ref/settings/#database...
If you hit any other things like these, please feel free to post to the mailing list where I and others will be only too happy to guide you.
Quick question: have you any idea if it works with django-nonrel or if it could be ported to a non-relational database? I've thought building a CMS on App Engine but I may just try porting one of the Django solutions instead.
Using a non-relational store with Mezzanine would be an ambitious task, as Mezzanine makes heavy use of Django's ORM in a relational way.
However I was recently contacted by someone from the App Engine team offering to help ensure Mezzanine deployed smoothly onto it. I mentioned the above and was told that Django is now a first class citizen on App Engine, with relational data supported via "Google Cloud SQL" which is their MySQL offering: https://developers.google.com/cloud-sql/docs/django
I haven't gotten around to making sure everything works smoothly, but it's toward the top of my todo list, so if it doesn't deploy cleanly at the moment, it will soon.
Man, what a coincidence.
Now, I shall call it ... "Hot Website Makr"! (without the "e") I'd like to see someone take THAT!