Ilias Lazaridis wrote:

> So, why not create an option for "startproject", to keep everyone (you,
> me, the unexperienced, the experienced) happy? Flexibility and freedom
> of choice is a nice thing:
>
> $ django-admin.py startproject eval quick-start
>
> $ django-admin.py startproject eval  # uses standard-project

The 'standard project' would presumably include these things:
- User, Group, ContentType etc models
- admin app, completely set up with URLs etc.

Once they have created this, they will have a nice administration
interface for administering...*nothing*.

That is because the 'standard project' does not contain any models that
are actually the basis of any web app (apart from the unlikely
situation where the Users and Groups are the only thing you want to
display on your web site).  Django is not an out-of-the box solution.

So, what situation is the user (i.e. the developer) in now?
- They will *still* have to learn the django-admin commands for
creating apps, installing models etc -- they have just wasted time
learning some magic commands they will never need again.
- They are also not likely to understand that the admin they have just
installed is really 'optional'
- They will probably not appreciate how powerful the admin actually is
(i.e. that it can be used for *any* model, not just the provided ones)
- They haven't yet *begun* to explore the API for creating and using
models (probably the most important part of their evaluation, since
they are *developers* and will spend most of their time working with
models and views).

I think this proposal would actually decrease the 'user experience'.
The 'wow' factor of the admin, IMO, comes almost entirely from the fact
that it works with the *developer's* models.  (It's very pretty and
nice, but if all it did was the built-in models it would just be Yet
Another Admin Interface).  For developers trying either to evaluate or
just get going, early exposure to writing their own code (especially
the models) is crucial, and how well the framework and admin works with
their own models is what they need to know.  I also think the fact that
the tutorials gets you using a Python shell nice and earlier is
brilliant.

(I guess people coming from a PHP background won't appreciate some of
these things, such as the Python shell etc -- I've seen some writeups
which kind of assume PHP developers are going to use Django without
actually learning Python.  Maybe we need a 'Django for PHPers' that
basically says 'You should be able to make it through the tutorials,
but you need to learn Python before using Django in earnest'.  There
are some great Python tutorials that get people going very quickly, but
trying to do it *more* quickly than that would be pointless).

Luke


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to