Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #43987 > unrolled thread

django vs zope vs web2py

Started byAlok Singh Mahor <alokmahor@gmail.com>
First post2013-04-20 23:13 -0700
Last post2013-04-21 20:12 +0530
Articles 7 — 5 participants

Back to article view | Back to comp.lang.python


Contents

  django vs zope vs web2py Alok Singh Mahor <alokmahor@gmail.com> - 2013-04-20 23:13 -0700
    Re: django vs zope vs web2py Alok Singh Mahor <alokmahor@gmail.com> - 2013-04-20 23:18 -0700
      Re: django vs zope vs web2py rusi <rustompmody@gmail.com> - 2013-04-21 00:51 -0700
      Re: django vs zope vs web2py Roy Smith <roy@panix.com> - 2013-04-21 07:22 -0400
      Re: django vs zope vs web2py Surya Kasturi <suryak@ieee.org> - 2013-04-21 17:29 +0530
    Re: django vs zope vs web2py Modulok <modulok@gmail.com> - 2013-04-21 06:19 -0600
    Re: django vs zope vs web2py Alok Singh Mahor <alokmahor@gmail.com> - 2013-04-21 20:12 +0530

#43987 — django vs zope vs web2py

FromAlok Singh Mahor <alokmahor@gmail.com>
Date2013-04-20 23:13 -0700
Subjectdjango vs zope vs web2py
Message-ID<2dc047ad-6b38-422f-8aa6-fca662b89c64@googlegroups.com>
Hi everyone,
few months back I decided to adopt python for my all sort of work including web progra

[toc] | [next] | [standalone]


#43988

FromAlok Singh Mahor <alokmahor@gmail.com>
Date2013-04-20 23:18 -0700
Message-ID<47fb29e2-3e78-4989-850b-24359d84b747@googlegroups.com>
In reply to#43987
I am sorry by mistake I sent incomplete mail here is my mail.

Hi everyone,
few months back I decided to adopt python for my all sort of work including web programming. and I have wasted long time deciding which to adopt out of django, zope and web2py. 
I am from php and drupal background. which framework would be better for me. I am open to learn anything, anything new. but I want to adopt best thing full of features and lot of plugins/extensions and easy to use and have better documentation and books etc. 

please suggest me so without wasting more time I can start learning 
thanks in advance :)

[toc] | [prev] | [next] | [standalone]


#43991

Fromrusi <rustompmody@gmail.com>
Date2013-04-21 00:51 -0700
Message-ID<223be064-6477-4035-9b4d-34eda5b13418@fs2g2000pbd.googlegroups.com>
In reply to#43988
On Apr 21, 11:18 am, Alok Singh Mahor <alokma...@gmail.com> wrote:
> I am sorry by mistake I sent incomplete mail here is my mail.
>
> Hi everyone,
> few months back I decided to adopt python for my all sort of work including web programming. and I have wasted long time deciding which to adopt out of django, zope and web2py.
> I am from php and drupal background. which framework would be better for me. I am open to learn anything, anything new. but I want to adopt best thing full of features and lot of plugins/extensions and easy to use and have better documentation and books etc.
>
> please suggest me so without wasting more time I can start learning
> thanks in advance :)

I am not the best person to advise on this area (hopefully others with
more python-for-web knowledge will speak up)
I see some implicit misconceptions/contradictions in your question so
just saying something…

Python is a general purpose programming language.
php has some (poor?) pretensions to that title.
Drupal cannot even pretend I guess.

Therefore when switching to something like python its important to
have high on your TODO list the need to grok what 'general purpose
programming language' means.
Many people use mega-frameworks like RoR, Django etc without really
knowing much of the underlying programming language.  This has some
consequences:
a. You function suboptimally, basically following the cookie-cutter
approach
b. When you have to switch out of Django into python (say) it can be
very unnerving and frustrating because you suddenly find you dont know
the 'ABC'

So the longer but more fruitful in the long-run approach is to
identify what are the general areas that web programming needs, study
these in isolation and then switch to a mega-framework like django.
Something like:

- templating with cheetah
- ORM with sqlalchemy connecting to some proper database
- web-serving with cherrypy (web.py?, bottle? flask?)

[I am not claiming that this list is complete or the examples are
good.  Of the above Ive only used cheetah]

After your hands are a little dirty with the plumbing, you can switch
to a mega-framework like django.

Also for someone who has mostly web experience, its good to put aside
web (for a while) and try out python for something completely un-web-
ish (a game? a sysadmin script?) to get a feel for 'general purpose
programming language'

[toc] | [prev] | [next] | [standalone]


#43996

FromRoy Smith <roy@panix.com>
Date2013-04-21 07:22 -0400
Message-ID<roy-DD4160.07220021042013@news.panix.com>
In reply to#43988
In article <47fb29e2-3e78-4989-850b-24359d84b747@googlegroups.com>,
 Alok Singh Mahor <alokmahor@gmail.com> wrote:

> I am sorry by mistake I sent incomplete mail here is my mail.
> 
> Hi everyone,
> few months back I decided to adopt python for my all sort of work including 
> web programming. and I have wasted long time deciding which to adopt out of 
> django, zope and web2py. 
> I am from php and drupal background. which framework would be better for me. 
> I am open to learn anything, anything new. but I want to adopt best thing 
> full of features and lot of plugins/extensions and easy to use and have 
> better documentation and books etc. 

Zope is a much older framework, and much lower level than django.  It's 
almost certainly not what you want.

I'm not familiar with web2py, so I can't comment on that.

Django is sort of the "killer app" these days in the python web world.  
That's not to say that it's necessarily the best, but at least it's well 
documented, and has a thriving user community of people who can help 
you.  There's also a lot of add-on software available for it.

The basic things you get from django are:

1) A built-in ORM (Object Relational Mapper) layer.  This is the thing 
which lets you ignore all the horrible details of how your underlying 
database works and just deal with Python objects.

2) A structure for parsing incoming HTTP requests, and calling the right 
bit of your code to handle each request.

3) A template language, to simplify the generation of your HTML pages.

There are others besides the three you mentioned.  You might want to 
start at http://wiki.python.org/moin/WebFrameworks to explore the 
possibilities.

[toc] | [prev] | [next] | [standalone]


#43998

FromSurya Kasturi <suryak@ieee.org>
Date2013-04-21 17:29 +0530
Message-ID<mailman.876.1366545952.3114.python-list@python.org>
In reply to#43988

[Multipart message — attachments visible in raw view] — view raw

On Sun, Apr 21, 2013 at 11:48 AM, Alok Singh Mahor <alokmahor@gmail.com>wrote:

> I am sorry by mistake I sent incomplete mail here is my mail.
>
> Hi everyone,
> few months back I decided to adopt python for my all sort of work
> including web programming. and I have wasted long time deciding which to
> adopt out of django, zope and web2py.
> I am from php and drupal background. which framework would be better for
> me. I am open to learn anything, anything new. but I want to adopt best
> thing full of features and lot of plugins/extensions and easy to use and
> have better documentation and books etc.
>
> please suggest me so without wasting more time I can start learning
> thanks in advance :)
> --
> http://mail.python.org/mailman/listinfo/python-list
>

You see, in my experience, if you are trying to find the best before
starting (to learn), probably might never going to start.
I don't know what's your Python experience but Django is a decent option to
start over! To start Django, the documentation is one of the best way to
start over!!

Since, you are already into web dev using php, drupal etc. Unless you are
very particular in starting with Django... I suggest you to take a look
into other areas of Python.

May be Network programming or systems programming or getting around
algorithms - trying to learn some mind blowing algos.. hack around on
network..

Come back and do Django.. you will see a lot of fresh ideas!!

[toc] | [prev] | [next] | [standalone]


#43999

FromModulok <modulok@gmail.com>
Date2013-04-21 06:19 -0600
Message-ID<mailman.877.1366547253.3114.python-list@python.org>
In reply to#43987
> Hi everyone,
> few months back I decided to adopt python for my all sort of work including
> web programming...
> --
> http://mail.python.org/mailman/listinfo/python-list
>

Pick Django or web2py. You'll be happy with either. (I have no experience with
zope.)

They're both full featured do-everything-you-ever-wanted frameworks with great
communities and lots of documentation. You can buy books on either. I'd say
web2py is a little more elegant and easier to get started with. (An admittedly
subjective claim.) Django has a little larger community and has more third
party stuff.

If you just need to "get it done" and don't care about how it happens, they're
both excellent. You'll meet deadlines with either of them. The communities are
smart the docs are great. You can't really go wrong any way you slice it.
There's more third party documentation and books for Django right now but
that's just because Django came out first. Give it another couple years and
there won't be much difference.

Basically, flip a coin and just go with it.



And now for the gritty details approach...

The problem with web frameworks is they are "magic", i.e. things just happen.
It's the price we pay for using a high level abstraction. The higher the
abstraction the more magic there is. Often times magic is good. It saves us
time and money. However depending on your needs, other options are worth
considering.

If you are willing to invest a lot of time not being initially productive but
learn a *ton* in exchange, you can use something like cherrypy. (Don't get me
wrong, I love and often use cherrypy.) It's dirt simple and works. However,
because it's so simple it doesn't do half of what you need for a non-trivial
production site. Result? You'll have to fill in the tool chain gaps with other
modules. This is what web frameworks do for you.

If you go the cherrypy route you'll need to learn other things like like markup
languages and some kind of way to talk to a database. Security is also entirely
in your hands. You'll learn a ton about HTTP, SQL, markup languages, web
security, encryption, etc. You'll be basically re-creating a web framework of
your own brand. Again it's a time spent vs. knowledge gained trade off.

For a template language I really liked wheezy.template but it's a little too
new for me to feel comfortable using it on any big project. It has a very
simple inheritance model, which is refreshing. I hope to use it more in the
future.

I usually use Mako for my templates. By 'template' I mean any template, not
just HTML. I use mako for HTML, documentation, I even use mako to write SQL
templates. The inheritance model of Mako takes a little more mental gymnastics
to wrap your head around than the simpler (read nicer) wheezy.template model,
but it's a more mature code base. (Not as mature as cheetah.) I had only minor
experience with cheetah but found I preferred Mako. It was a matter of taste.
There's nothing wrong with cheetah.

As for database access: sqlalchemy is truly excellent and very flexible. For
most things sqlalchemy is great. However for some projects it may contain too
much magic. (Again we're going deeper.) Sometimes a backend-specific module is
called for, in which case psycopg2 on postgresql is nice. The ability to use
python context managers as transaction blocks is very clean.

In short, how much do you want to learn? Do you prefer a top-down or bottom-up
approach? Gritty details or elegant abstractions?

-Modulok-

[toc] | [prev] | [next] | [standalone]


#44007

FromAlok Singh Mahor <alokmahor@gmail.com>
Date2013-04-21 20:12 +0530
Message-ID<mailman.881.1366555332.3114.python-list@python.org>
In reply to#43987

[Multipart message — attachments visible in raw view] — view raw

On Sun, Apr 21, 2013 at 5:49 PM, Modulok <modulok@gmail.com> wrote:

> > Hi everyone,
> > few months back I decided to adopt python for my all sort of work
> including
> > web programming...
> > --
> > http://mail.python.org/mailman/listinfo/python-list
> >
>
> Pick Django or web2py. You'll be happy with either. (I have no experience
> with
> zope.)
>
> They're both full featured do-everything-you-ever-wanted frameworks with
> great
> communities and lots of documentation. You can buy books on either. I'd say
> web2py is a little more elegant and easier to get started with. (An
> admittedly
> subjective claim.) Django has a little larger community and has more third
> party stuff.
>
> If you just need to "get it done" and don't care about how it happens,
> they're
> both excellent. You'll meet deadlines with either of them. The communities
> are
> smart the docs are great. You can't really go wrong any way you slice it.
> There's more third party documentation and books for Django right now but
> that's just because Django came out first. Give it another couple years and
> there won't be much difference.
>
> Basically, flip a coin and just go with it.
>
>
>
> And now for the gritty details approach...
>
> The problem with web frameworks is they are "magic", i.e. things just
> happen.
> It's the price we pay for using a high level abstraction. The higher the
> abstraction the more magic there is. Often times magic is good. It saves us
> time and money. However depending on your needs, other options are worth
> considering.
>
> If you are willing to invest a lot of time not being initially productive
> but
> learn a *ton* in exchange, you can use something like cherrypy. (Don't get
> me
> wrong, I love and often use cherrypy.) It's dirt simple and works. However,
> because it's so simple it doesn't do half of what you need for a
> non-trivial
> production site. Result? You'll have to fill in the tool chain gaps with
> other
> modules. This is what web frameworks do for you.
>
> If you go the cherrypy route you'll need to learn other things like like
> markup
> languages and some kind of way to talk to a database. Security is also
> entirely
> in your hands. You'll learn a ton about HTTP, SQL, markup languages, web
> security, encryption, etc. You'll be basically re-creating a web framework
> of
> your own brand. Again it's a time spent vs. knowledge gained trade off.
>
> For a template language I really liked wheezy.template but it's a little
> too
> new for me to feel comfortable using it on any big project. It has a very
> simple inheritance model, which is refreshing. I hope to use it more in the
> future.
>
> I usually use Mako for my templates. By 'template' I mean any template, not
> just HTML. I use mako for HTML, documentation, I even use mako to write SQL
> templates. The inheritance model of Mako takes a little more mental
> gymnastics
> to wrap your head around than the simpler (read nicer) wheezy.template
> model,
> but it's a more mature code base. (Not as mature as cheetah.) I had only
> minor
> experience with cheetah but found I preferred Mako. It was a matter of
> taste.
> There's nothing wrong with cheetah.
>
> As for database access: sqlalchemy is truly excellent and very flexible.
> For
> most things sqlalchemy is great. However for some projects it may contain
> too
> much magic. (Again we're going deeper.) Sometimes a backend-specific
> module is
> called for, in which case psycopg2 on postgresql is nice. The ability to
> use
> python context managers as transaction blocks is very clean.
>
> In short, how much do you want to learn? Do you prefer a top-down or
> bottom-up
> approach? Gritty details or elegant abstractions?
>
> -Modulok-
>
thanks a lot Rusi, Roy Smith, Surya and Modulok
I am sticking to django. In future I will touch web2py also

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web