Friday, June 28, 2013

Re: Help in finding how to learn Django

On 28/06/2013 5:49pm, subsnico@gmail.com wrote:
> Hi all,
>
> What is the best way to learn Django 1.5 thouroughly? I have been a .NET
> developer and have a really good understanding of OOP, HTML5, CSS and
> JavaScript. I also have an entry-level knowledge of Python. I am
> completely new to MVC (or MVT, in this case).
>
> I have a need to build apps with Django that provide users with features
> such as finding each other based on geographical distance, upload
> pictures and edit them online, natural language search, etc... (just to
> highlight that I need to know more than how to build a poll app or a
> simple blog).
>
> My understanding is that the entry point to learn Django is by
> completing the tutorial at the Django project site. Then, what? What
> path would you recommend?

See if you can abstract one or more sub-sections of your planned greater
project and choose the smallest or most self-contained one to start
with. Your objective is to turn it into a re-usable app (or library) for
all your future projects which might need it. Think in boundaries rather
than technicalities.

Omitting everything else, build that one.

I have seen that lots of learning resources on
> the web target versions lower than 1.5 and I couldn't really find books
> on 1.5. When reading reviews on learning material on 1.4, I often see
> they are outdated and not really applying to 1.5.

Most, if not all, books and material relating to Django 1.0 will work on
all versions of Django up to 1.9. So they are still valuable.

>
> Also, I briefly looked at what it takes to deploy a Django app.
> Virtualenv, git, pip, etc... are all things unknown to me and it looks a
> bit scary for a guy used to deploy apps by uploading the compiled
> binaries through FTP.

You have no choice. You simply have to have a repository. Git or
Mercurial seem to be flavour du jour. I use Subversion but I'm
old-fashioned.

Deployment strategies vary so you need to figure out what suits you. I
develop in Windows, commit to a Linux hosted repo and use Buildbot on
the same VM to completely blow away the staging site and reconstitute it
from the repo. That happens automatically on every commit.

The production server gets updated manually when/as required but by
scripted export from a tagged production release in the repo.

It isn't scary. It is safely reproduceable. CSS and Javascript are scary.

Pip is dead easy so you need to look more deeply. Python has a number of
installer tools but pip seems to be the way forward.

Virtualenv is necessary if you are developing in different areas. For
example, if you have a "legacy" app to support you really require a
"legacy" environment within which to support it. Modern developers see
enough of this requirement to simply do it for all their projects so
they don't have to think about it. If you only have one project you
might delay Virtualenv until you need it. You will know when that time
comes.

>
> Help in defining a clear path to learn how to bend Django to my will
> would be invaluable!

Mmmmm. I thought that way in the beginning. Going with the Django flow
is much more productive.

Welcome :)

Mike

>
> Thank you for your time.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to django-users+unsubscribe@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment