views:

3601

answers:

9

I plan to read about Django. Should I go with Django or Plone? What makes Django/Plone better than the other?

Edit: From a comment below:

I just wanted to know a framework for developing web applications.

+32  A: 

Plone is a CMS

Plone is a Content Management System. It has a lot of features built-in and you have a working website with workflows, write access, right management, content management and a strong back office out of the box.

But the question is, do you need this?

Plone is great if you need these features because they are tedious to code and it spares your time so you can focus on the other parts of the apps.

The trouble is that Plone is really complex to deeply tweak (my company works 100% with Plone so I can tell...). You can customize everything, but getting your staff to become Plone experts is long and expensive.

What's more, using Plone implies using Zope, which includes the good stuff (Zope admin, the rollback features, cache, etc) and the nasty stuffs (it's resource intensive, you have to deal with ZODB...).

Django is a Framework

Running the Django framework, you have nothing. Well, almost nothing (you can generate an admin BO) but a ton of bricks that are easy to make work together.

With Django, it takes more time to actually have a website, but it's far easier to tweak since you can understand and control everything (hey, you made it yourself!), then plug it to anything.

Django is really intuitive and well documented, the learning curve is smooth. If you don't need a working app out of the box, but you want to hack some really specific features (meaning, not another CRUD app), you may want to use it.

e-satis
np :) thanks for the nice answer +1
Ali A
+3  A: 

You are not comparing like for like.

We really need to know your use-case.

Edit: O.P.: "I just wanted to know a framework for developing web apps"

Then Django is what you want.

Ali A
+3  A: 

If you want to build web applications, Django is probably the tool you want.

If you want to do a lot of content management and you'd prefer to have everything like that done for you, you might find it easier going with Plone, but as e-satis said, Plone can be a real pain in the behind when you want to make serious changes.

Django on the other hand doesn't give you that much to start with other than a great library of development tools.

Oli
+2  A: 

plone can be a real pain in the behind when you want to make serious changes.

That pain is the price of reusability. You've to learn the Ploneway. What you should do is evaluate if you want to pay for it nor not, although there are great books and the Plone network of consultants and entrepeneur that can solve these problems for you, just check plone.net.

+6  A: 

At my work, we use both.

Plone has been excellent as a CMS that is aware of security at all times. One problem we've had with CMS's is not being able to keep secret things secret, either due to references to an object, URL fiddling, or search (the big killer). Plone doesn't just protect: it plays dumb. No matter how you ask for something, if you're not supposed to see it, Plone will not let on that it even exists.

However: Plone runs slow if you don't know how to optimize it. It has a steep learning curve, though Plone 3 seems to be helping with that a bit. Customizations, if not done right, can hold you back when it comes to core updates.

Django, while not as robust or security aware, runs much lighter, faster, and scales much more easily. There's less boilerplate to much around with, and getting started is insanely easy.

I would try both. Play, test, see what you can get done. Plug into the communities, as they will be your biggest asset.

Katie
A: 

Plone is deprecated

zope2 + CMS = plone < Zope3 + CMS = Z3Ext

Z3Ect is cool!!

(http://z3ext.net/)

Miuler
+1  A: 

Look at Web2py - I like it much more than Django.

I think you'll be impressed.

Plone has a big learning curve, but you are not limited within the realm of a CMS. And once you are up to speed (it can take a year in your spare time) it really empowers you to do whatever functionality you need.

+1  A: 

Miuler - this is simply misleading and incorrect.

z3ext is indeed a CMS that is built on Zope 3. That does not make Plone deprecated. I don't see a lot of uptake for z3ext, and Plone is still growing in use.

A: 

Just to clarify some of the points made above:

Django is a framework for making CMS-centric websites. I.e., it allows you to create customized admins for managing content. You can, of course, use it to create web applications that are not content-centric, but it does really excel at powering custom CMSs.

Plone is more of a "out of the box" CMS.

So, it all depends on your requirements.

Chip Tol