Ok so you want to learn about Python and Django. Well read on and learn.
Python vs Other Languages
Understand the difference between Django and other languages.
- Java vs Python
- Python wiki shows how python is different from other languages.
Pythonic Style Coding
- Code Like A Pythonista by David Goodger, how to write readable stylistic dynamic python code.
- Google Python Style Guide, standard practices
Advanced Python Features
Certain programming concepts in Python just don’t exist in Java, for instance closures and meta-programmin. Read the following articles to understand these concepts.
- What Is A Metaclass in Python – A detailed explanation. Django uses quite a bit of metaclasses, and if you get a solid grasp on metaclasses, you’ll save yourself a lot of time going through models and forms.
- Hidden Features of Python – A great compilation of answers on Stack Overflow.
- A Few of My Favorite Python Things – showing of good features of Python
Python/Django Tutorials
These tutorials will help you get started and warmed up if you have programmed before. A must try. Some are videos, examples.
- Django Best Practices – Django Best Practices
- Getting started with Django.
- Google’s Python Class – A quick way to jump into Python programming, mix of podcasts, videos and examples.
- Writing your first Django app on djangoprojects – This canonical tutorial on Django gets you started using Django and projects.
- showmedo.com, lots of videos on Django.
- Python411, find the gems, they are in there!
- Django Dose Podcast
Best of Django Documentation
Read these parts of the official Django docs
- Managers / Querysets how Django interacts with relational databases.
- Request-Response / User, HTTP request information. The concept of Users and authentication is built into Django
- Views / Templates – A good introduction on how the application-level code connects to the client-side HTML/JS/CSS code.
- Django workflow handle requests coming from the HTTP server. This will help you understanding middleware, context processors and views work together and the sequence of events firing each. Read request/response cycle info from Simon Willison and James Bennett detailed information.
Python Tools
- IPython – Although not specific to Django, IPython is a huge improvement over the standard Python shell. With its tab complete feature, it saves me a few extra seconds of distraction whenever I can’t remember a function or module name.
- PDB / iPDB – The Python debugger tool is incredibly helpful going through a new piece of code, giving power to stop code at arbitrary points and inspect the variables at those points. iPDB gives you the power of PDB along with the features of iPython.
- Eclipse for Django, if you use Eclipse, this is how to use with Python/Django
- Sublime text editor, I’ve tried them all this one just works best.
Additional Resources
- Django Sites, successful examples of Django Sites:)
- The official site http://www.djangoproject.com/.
- The Django Book, a bit dated but a great read.