From: Bruno Desthuilliers on
AppRe Godeck a écrit :
(snip)
> Thanks for your replies, I was hoping to hear from some django people as
> well. Especially if you choose django over web2py, and why.

I don't know what a "django people" is - but if you mean "django core
developper", I'm not one of them. Now wrt while I use Django instead of
web2py, the answer is quite simple: web2py didn't exist when I started
using Django !-)

From: Bruno Desthuilliers on
Thadeus Burgess a �crit :
(snip)
> Spend one
> day working on a simple django application, polls, blog, image
> gallery, family pet tree, you name it. Then take the next day, and
> write the same application with web2py, and you decide. In the end,
> both are tools and you need to figure out what is best for YOU.

The problem is not how easy it makes to write a *simple* (should I say
"braindead" ?) dummy test app, but how easy - or even possible -it makes
writing and maintaining a *real-world* complex application.
From: Bruno Desthuilliers on
mdipierro a �crit :
> On Dec 19, 12:42 am, AppRe Godeck <a...(a)godeck.com> wrote:
>> Just curious if anybody prefers web2py over django, and visa versa. I
>> know it's been discussed on a flame war level a lot. I am looking for a
>> more intellectual reasoning behind using one or the other.
>
> Of course I am the most biased person in the world on this topic

Indeed !-)

>
> - In web2py models and controllers are not modules. They are not
> imported. They are executed.

I assume you mean "executed in an environment defined by the framework"...

> This means you do not need to import
> basic web2py symbols. They are already defined in the environment that
> executes the models and controllers

Ok. As far as I'm concerned : show stops here.

>(like in Rails). This also means
> you do not need to restart the web server when you edit your app.

The dev server that comes with Django do the autorestart thing. And you
*don't* "edit yoour app" directly on the production server, do you ?

> - You have a web based IDE with editor,

Why should I care ? I have a way better development environment on my
own box.

> some conflict resolution,
> Mercurial integration,

What if use something else than mercurial ?

> ticketing system,

....doesn't belong to the framework. FWIW, I already have a ticketing
system that's language/techno agnostic, thanks.

>
> - The DAL supports transactions. It means it will create and/or ALTER
> tables for you as your model changes.

Err... how does schema changes relates to transactions ???

Now FWIW, when my schema do change, the create/alter table code is
usually the most trivial part - there are quite a few other things to
do, that no framework will ever be abale to guess. IOW, you *do* have to
write a migration script anyway.

>
> - The DAL has partial support for some legacy databases that do not
> have an 'id' auto increment primary key.

Django's ORM has full support for tables that don't use an "auto_id" key.


> Anyway, I think both system are great. Spend 15 minutes (no more) with
> each to make up your mind, and stick with it.

Once again, while doing a quick dummy test app can give you a first
general "feel" of the tool, it means nothing wrt/ complex real-world
applications.

From: Bruno Desthuilliers on
Anand Vaidya a �crit :
> On Dec 19, 2:42 pm, AppRe Godeck <a...(a)godeck.com> wrote:
>> Just curious if anybody prefers web2py over django, and visa versa. I
>> know it's been discussed on a flame war level a lot. I am looking for a
>> more intellectual reasoning behind using one or the other.
>
> Hi,
>
> I am not very familiar with Django, anyway, my reasons for selecting
> web2py are:
>
> - I believe Django naturally "fits in" to a publishing type of
> application.

I just don't get why so many people have this antipattern... None of the
projects I did with Django were on the CMS side. Django is *NOT* a
"CMS-growned-into-a-framework" in any way, it's a web development
framework, period.

Don't "believe", check.


> web2py seems to be more focussed on being a front-end to
> "applications" not so much for CMS type or newspaper type publishing.

Please provide *any* evidence of your (plain wrong) assertions and
assumptions...

From: mdipierro on
> > On Dec 19, 12:42 am, AppRe Godeck <a...(a)godeck.com> wrote:
> >> Just curious if anybody prefers web2py over django, and visa versa. I
> >> know it's been discussed on a flame war level a lot. I am looking for a
> >> more intellectual reasoning behind using one or the other.
>
> > Of course I am the most biased person in the world on this topic
>
> Indeed !-)
> > - In web2py models and controllers are not modules. They are not
> > imported. They are executed.
>
> I assume you mean "executed in an environment defined by the framework"...

yes

> > This means you do not need to import
> > basic web2py symbols. They are already defined in the environment that
> > executes the models and controllers
>
> Ok. As far as I'm concerned : show stops here.

It is your choice but, why?
Exec/eval is only true distinctive feature of an interpreted language
vs a compiled language.

> >(like in Rails). This also means
> > you do not need to restart the web server when you edit your app.
>
> The dev server that comes with Django do the autorestart thing. And you
> *don't* "edit yoour app" directly on the production server, do you ?

Unfortunately it has happened.
In my experience the distinction between development and production is
fiction.

> > - You have a web based IDE with editor,
>
> Why should I care ? I have a way better development environment on my
> own box.

I only use emacs. I do not use the web based IDE much myself but I
found it really helps in learning how to use the framework.

> > some conflict resolution,
> > Mercurial integration,
>
> What if use something else than mercurial ?

You can use any version control you want, the same way you would in
Django. web2py itself is version controlled in both bazaar and
mercurial. The only think about mercurial is that, if you have it
installed, the web based IDE lets you commit at the click on a
<button>.

> > ticketing system,
>
> ...doesn't belong to the framework. FWIW, I already have a ticketing
> system that's language/techno agnostic, thanks.

Perhaps we are not talking about the same thing. if an error occurs in
a web2py application and I want: 1) notify the user, 2) assign the
user a ticket number; 3) log the error in the framework; 4) allow
administrator to browse past error logs; I think this belongs to the
framework else it gets clunky. Web2py tickets are out of the box and
always on.

> > - The DAL supports transactions. It means it will create and/or ALTER
> > tables for you as your model changes.
>
> Err... how does schema changes relates to transactions ???

Type "migrations" not "transactions" sorry.

> Now FWIW, when my schema do change, the create/alter table code is
> usually the most trivial part - there are quite a few other things to
> do, that no framework will ever be abale to guess. IOW, you *do* have to
> write a migration script anyway.

No. We do not have migration scripts. It is nothing like Rails. You
just edit a model and, voila', database is migrated. Nothing to type.
Nothing to click on. (you can disable it)

I respect you choosing Django but it looks like you have never tried
web2py.

> > - The DAL has partial support for some legacy databases that do not
> > have an 'id' auto increment primary key.
>
> Django's ORM has full support for tables that don't use an "auto_id" key.

web2py too has support for legacy databases for tables without an
auto_id but not yet for all database back-ends.

> > Anyway, I think both system are great. Spend 15 minutes (no more) with
> > each to make up your mind, and stick with it.
>
> Once again, while doing a quick dummy test app can give you a first
> general "feel" of the tool, it means nothing wrt/ complex real-world
> applications.

While this may be true as a general statement could you explain which
feature you find in Django that is not in web2py and that is is
crytical for building large web applications? Could you provide a
coding example of such feature? This is an honest question because it
can help us make web2py better. I have personally learned a lot from
Django and thank the Django developers for their work, I would be
happy to learn more.

Massimo