On 01/05/2012 01:01 PM, Chris Kavanagh wrote:


On Jan 4, 8:20 am, Andre Terra<andrete...@gmail.com>  wrote:
I'm sorry, folks, but I'll have to *vehemently **disagree *with a lot of
what has been said in this thread. To the OP, I'm sorry I didn't reply any
sooner.

No, you *don't need *to go reading about what MVC means. Django is a
*MTV *framework,
not *MVC*. There are similarities, but the differences are enough to
confuse your head if this is your first time with either one. You should
definitely stick to Django Book[1] for a definition on what Models, Views
and Templates are. Everyone who says otherwise is wrong. Once you're
comfortable with Django, feel free to explore other frameworks so you can
weigh the pros and cons yourself.

No, you *don't need* to read the Python PEP on DB-API (?!?!). I'll go as
far as say you *shouldn't.* Not now and not for any time in the foreseeable
feature. You won't need to write raw SQL in Django until you've reached a
big bottleneck, and one that can't be solved in any other way. Writing raw
SQL is exactly what Django wants you to *stop* doing. The ORM doesn't only
exist in order to speed up development. It provides a layer of abstraction
that also allows for easy refactoring and code improvement. SQL is not as
flexible.

The only PEP you need to read right away is PEP 8[2]. Learn it, love it,
memorize it, use it. Everything else will only bring marginal benefits at
such an early stage in the learning curve while also carrying a level of
complexity that will most likely be a hindrance to your overall experience.

Follow the tutorials and the django book (while outdated, most of it should
work fine). When asking questions, remember to paste a *full *traceback and
code examples. It might not make any sense to you, but eventually you'll
learn your way around it. #django on freenode is rather helpful for quick
questions and, if you know how to ask your question[3], this mailing list
will also prove useful.

Finally, If you need some pointers on HTML/CSS/JS, start with the HTML5
boilerplate[4] "framework". Everyone and their grandma seem to be using it
nowadays. It will give you enough of a starting point that should make
cross-browser compatibility as painless as possible, and should get you
going in a flash.

I hope you find my advice convincing enough so that it may prevent you from
hurting your own learning process. I wish you only the best!

Good luck and happy coding!

André Terra

[1]http://djangobook.com/en/2.0/chapter01/
[2]http://www.python.org/dev/peps/pep-0008/
[3]https://code.djangoproject.com/wiki/UsingTheMailingList
[4]http://html5boilerplate.com/


Thanks for the advice Andre. . .Ok here's the crux of my original
question, that I didn't ask very well. How can I learn to make my own
Models, without knowing SQL?? In the book, at the beginning of Chp 5,
Models, there's a note that says something like, "you don't strictly
need to know SQL to follow along, but it sure helps." Since I have no
database experience, I took that quote seriously.

To be honest, after looking through the Models chapter in the book,
and on djangoproject.com, it doesn't look too complicated. The Model
Class Fields seem pretty simple. But then again, if I had to design a
model from scratch, I think I would have a problem. That's why I
thought learning SQL, just to learn a little about databases might be
helpful.

While learning SQL could be helpful for writing fine-tuned SQL queries, IMO it doesn't really help much to design an effective database. To design an effective database schema, you need to learn about database, not (just) SQL. Learn about basic database concept such as primary and foreign keys, data modelling, and normalization (up to 3rd or 4th level normalization is generally good enough for all practical purposes).

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to