This looks like it might eventually become a useful resource, as there is nothing else out there with its particular approach and combination of topics, and it seems fundamentally sound.<p>However, I wouldn't recommend trying to learn from it in its current form, unless you already know a lot.<p>Just skimming over it, I found that it was teeming with grammatical errors and typos, with entire sentences garbled to the point where I couldn't tell what the authors had intended to say. I saw syntax errors in the code samples, which means that they weren't all verified to run as printed. Again, not a real problem except for beginners, but beginners are the target audience.<p>Finally, there is some utility to the concept of <i>prerequisite</i> that the authors seem to avoid.<p>This book tries to teach the beginner everything that he might need to know, from what "ls" does in the shell to how to use git and set up virtual environments. Maybe it is practical to go from never having seen the command line to deploying working, secure Django projects just by using a (cleaned up version of) this book, but doesn't it make more sense to learn things in a more solid progression of stages? It's OK to expect the student to already know some basics, and build on those. You don't find a tutorial on arithmetic in a book about topology.
Question for Rails and Django users: is there a site that gives definitive best practices for both? I've actually been thinking about building a thrown-together site for just that purpose.<p>I've tried to get into <i>both</i> Rails and Django twice now (I'm a PHP guy usually), but every time I seem to get going, I get bogged down by StackOverflow after StackOverflow that have seemingly contradictory information or offer a third party solution rather than solving the problem within the framework.<p>In Rails, for example, Rails is easy enough, until you're dealing with RVM * , Passenger * , and installing correct dev versions of database drivers.<p>In Django, you deal with South migrations when you want to update your database schemas, virtualenv * , virtualenvwrapper * ; in fact, I've heard that one of the criticisms of Django is that, in order to get to production quality, you essentially have to switch out every component of it with a third party.<p>* The starred apps don't technically have anything to do with the framework; they're more utilities for managing multiple framework instances. Still, you're likely to find tutorials that use them as a de facto standard, which only adds to noob confusion.<p>I've started reading Michael Hartl's Rails tutorial, which seems promising. I found that the highly-recommended "Two Scoops of Django" book was a little too narrative for me (just tell me what to do, dammit!); there's definitely a need for more Django tutorials than just the Django website's basic one -- kudos to the author for that.
For people starting with Web Framework or new to Python, I would suggest starting with a lightweight framework, such as Flask or Pylons.<p>I used to struggle with Django, so I started to look into Flask, and I really feel like I finally understood what I was doing.<p>Flask tuto : <a href="http://flask.pocoo.org/" rel="nofollow">http://flask.pocoo.org/</a>
This would've been immensely useful when starting out.<p>Official tutorials and docs don't cover nearly all of the accepted standard practices. As a relative outsider it seems a lot of this Django/Python knowledge is taken for granted by the tightly knit community of the skillful developers who interact with each other and exchange various tips, while a beginner who is not really embedded in the community misses out on all that and picks it up only when it's widely enough used that it hits the blogs and podcasts in bits and pieces.
From a quick overview I really like your approach: you start by a hello world directly (then template, then models) instead of doing this strange approach of the django official tutorial that starts with model then admin interface then show an hello world at part 3. I also really like the presence of exercices.<p>Quick comment: here, you are teaching render_to_response <a href="http://www.tangowithdjango.com/book/chapters/templates_static.html#adding-a-template" rel="nofollow">http://www.tangowithdjango.com/book/chapters/templates_stati...</a> while you should be using render instead <a href="https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/#django.shortcuts.render" rel="nofollow">https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/...</a> which is simplier than render_to_reponse (where you have to use the horrible context_instance=RequestContext(request) to be able to do certain things in the template which confuse a lot people).<p>Thanks for this contribution to the django community!
Another awesome resource for Django Screencasts is Neckbeard Republic.<p><a href="https://www.neckbeardrepublic.com/tagged/django" rel="nofollow">https://www.neckbeardrepublic.com/tagged/django</a>
You should probably not use django-registration for user auth as referred to in the guide, since it's been abandoned at this point: <a href="https://news.ycombinator.com/item?id=6278464" rel="nofollow">https://news.ycombinator.com/item?id=6278464</a>.
Django screencasts for the interested:<p><a href="https://godjango.com/" rel="nofollow">https://godjango.com/</a><p><a href="http://gettingstartedwithdjango.com/" rel="nofollow">http://gettingstartedwithdjango.com/</a>
I recently started to learn Ruby on Rails. I like the language and the framework, but I also appreciate the simplicity and power of Python.<p>Which framework should I focus on if my priorities are professional development and ease of workflow? I realize this is a hard question to answer, but I'm interested in hearing different perspectives.
Looks good! The part I chose to jump to was deployment as there's a million ways to do it and I've been looking for a best practices. Was a little saddened to see you chose PythonAnywhere not because the service is bad, but because it has a limited use case.
Good Tutorial. I like how you are building a website and adding features.<p>So far I have made it to the Ajax page.<p>Why don't you use render in your views, and url tags with the name in urls.py?<p>Also there is a lot of typos. Is the site open source?
Another recommended resource for learning Django: <a href="http://www.djangobook.com/en/2.0/index.html" rel="nofollow">http://www.djangobook.com/en/2.0/index.html</a>