Ask HN: What level of Python knowledge is required to move on to Django
I'm currently learning python and it is my first language.
So far, I believe I am comfortable enough to say I have a solid "beginners' fundamentals" of the language.
But the truth is the only reason I'm learning python is to be able to build webapps with Django.
On several occasions I have read the advice of "don't move into Frameworks too early". So at what point can I safely move into frameworks without being too early?
At the moment I can read most python codes and understand what is going on, I've played around with a couple of APIs and have written an adventure text game.
Any advice is greatly appreciated.
Thanks
5 comments
[ 6.8 ms ] story [ 28.0 ms ] threadI would advise you to read up on a few Python specifics like WSGI. You won't directly need it in Django but it's useful to understand what its purpose is.
The nice thing about Django is that since 'magic removal' most of Django is pure Python with some cool meta tricks on top of it. A few of those will confuse you a bit at first but once you get them it's awesome.
If you don't feel comfortable digging into Django just yet start out with Flask (or bottle or web.py or...). It has a routing system and a template engine but doesn't bundle an ORM by default so you can start out with building something simple and chuck in the ORM when you need it.
I tried searching but everything I found seems to be outdated. I would be interestd in something along the lines of Practical Django Projects by James Bennet (apress)
There's also Writing Idiomatic Python which is a good read and contains a bunch of useful things.
For myself, I found Two Scoops of Django (https://django.2scoops.org/) a great help. I was really satisfied by that purchase.
To answer the title question, my opinion is jumping right into Django regardless of your experience with Python. I don't see the value behind "don't move into frameworks too early", but I may not be as experienced as the gurus of the internet.
Edit: Found out HN doesn't have Markdown for URL linking.