I use DRF with Angular at work, so I'm interested in seeing where this series goes.
Tangentially, I can't imagine using Django without DRF. It makes setting up RESTful(ish) APIs so easy. Even if you don't care much about the RESTful aspects, it provides a much nicer way to organize your code than default Django IMO. I especially like how serialization works versus Django forms.
I found the best thing about DRF was how well it conforms to Django conventions. Model serializers work very like model forms and the class based views are almost the same.
Aww, what a tease. This is exactly what I'm diving into right now. Since part one was written in November, I'm guessing part three might show up around March?
Anyone have any worthwhile Django learning resources to share? (Other than Django's own docs, which are great.)
There's a book called Django by Example by Antonio Mele that I think is pretty good. People love Two Scoops of Django as well. The former consists of a series of tutorials and the latter explains best practices to consider when writing Django apps.
Do either of those talk about Django and scalability/duplication? The two biggest problems I've run into looking for other resources are:
1. Versions -- a lot of printed materials are just old by the time they come out.
2. None of them talk about large-scale projects, only smaller-scale personal blogs etc. as a first project. Or, put another way, many of the resources I find target beginners instead of intermediate/advanced learners.
Scalability--not so much. If you were really interested in building a highly scalable service (5M+ concurrent users) you probably would want to look at a different tool/language. But, chances are, Django works just fine for your initial/early use cases (before what you're building goes "viral" lol) and for most web app use cases on the internet. Duplication--yes. If you are talking about duplicating project boilerplate, Two Scoops gets into this topic specifically (using a neat package called cookiecutter). If you mean replication (e.g., horizontal scaling via replication of instances of your app), then that's more of a dev ops thing and depends on your deployment setup. I would suggest digging into literature about AWS, or whatever PaaS you choose.
1. Versions -- both books target Django 1.8+ (Django 1.9 is the current, stable release), so I would consider both relevant for now.
2. I suggested both books because both are current and different. Django By Example includes examples of projects beyond a simple blog (I think that's chapter 1 or 2). Each chapter introduces more and more complexity with a totally separate project example. Whereas, Two Scoops of Django provides general recommendations for how to best manage common Django tasks/flows. I think both are appropriate for intermediate/advanced users.
I am about a third of the way through Django By Example and would also recommend it for someone who has gone through the Django Tutorial and is looking for more.
I've found books by Packt Pub to be of variable quality, and DbE does have some typoes/errors, but the content so far has been quite good.
Part 3 will be coming out sooner than March I hope. The reason for the gap in releases was the holiday season, we should be able to get them out more reliable going forward.
two scoops of django is decent, but it doesnt talk about the DRF. I am going to be adding a blog post about this in a few days, Ill send you a link when I am done - drop me an email if you want me to email it you.
> A lot was covered in this post so this is a great point to end on. Look for the next post soon, covering API endpoint creation, including views, serializers, and URL routing for the Retail application.
This reminds me of the kickstarter to build django tutorials. Lots of talks and finally halting halfway ... That's the difference between Django and Rails (and now Node). Ressources are scarce and unreliable ...
It's shocking to me how something that should be so easy becomes so complicated. Why does the file structure need to be re-configured? What the heck are the __init__ files?? Virtual environments?
I sort of know the answers but remain unsatisfied.
And then the author sets up a needlessly overcomplicated data model situation.
With all due respect, this tutorial might be a little over your head, but a little bit of research will get you up to speed. __init__ files and virtual environments are not specific to Django or DRF. These are typical patterns used in python development. For example, using a virtual environment allows you to have a self-contained python environment (your choice of version) with package management through pip. This is enormously useful when writing apps--you've got python and dependencies all in one spot contained in its own environment.
can I ask a serious question? are you possibly not the intended audience of this article? have you done any non-beginner work using Python and/or Django in a production environment?
I'm slightly past this article but not much further. I check out a lot of "getting started" tutorials because I'm still frustrated with the "getting started" experience of a lot of frameworks/approaches. I just don't see why it's so complicated to do things that seem like they would be pretty easy.
Tangentially, I can't imagine using Django without DRF. It makes setting up RESTful(ish) APIs so easy. Even if you don't care much about the RESTful aspects, it provides a much nicer way to organize your code than default Django IMO. I especially like how serialization works versus Django forms.