Day Ten — Django (see project overview)
Starting with a few Pluralsight courses. I went through a Django tutorial way back when (about three years ago) before starting my last contract. I’ve learned quite a lot about everything since then. When I first checked out Django training, I wondered why the project I was going to be working on used AngularJs and Django together. I realized, eventually, that Django builds server-side html, so we really need a way to be reactive client-side. The app was a single page app, which is not what Django does natively. This article explains the situation well.
I do want to use React. I don’t have any production experience with it, so I need to learn it. One of the points the article makes is that we sometimes do cool new things even though we could get by without them. That’s what I’m deliberately planning to do here.
The Django docs also contain a tutorial, which I’m guessing would get me up and running much faster. But, I’ll start with the Pluralsight course, “Code School: Try Django” by Sarah Holderness. It has a five-star rating. I liked the course because it was quick and covered the basics. I, too, will give it five stars.
Sqlite worked very well for local development!
One notable thing that this course (or just using out-of-the-box Django) introduced to me is SQLite. I’ve heard of it before, but I’ve not used it. For the stuff I’m doing, it seems perfect. So, another thing to learn.
A more in-depth Django beginner course is Pluralsight’s “Django Fundamentals” by Reindert-Jan Ekker. I’m going quickly through this course so that I can pick up tidbits of info I don’t already have. I’m not stepping through what he’s doing. All of the VirtualEnv stuff does not apply to me, since I’m using Vagrant. He’s also using PyCharm where I’m using Sublime Text.
When you’re low on time (as in always) speed up that course!
I have enough Django experience that most of this is review for me. Professionally, I’ve been able to avoid much of the native Django template/server code because we used AngularJs. But, I did work on a pretty large Admin site addition requiring (this was a decision made by folks leading the project) use of Django Templates for the UI. This work made me realize, I didn’t really know anything about Django Templates or Django Admin. I learned quite a bit while doing that work, but none of it was formal learning. I find that it’s very helpful to go back and get some formal training after a bit of real-world experience, so I’m going to go through this entire course (at 1.4x speed, of course).
For me, this was a nice little ego boost. After many days spent taking courses on subjects with which I have only slight knowledge, it’s nice to get into something I know. I’m not a Django expert by any means. According to Pluralsight’s skills test, I’m not even proficient but all of the topics presented here are familiar to me, so that’s nice for me.
Django is cool! And, it was invented in Lawrence, KS!
But, alas, a programmer’s ego boost can never last too long. This course introduces something I’ve not seen (at least not noticed) before that looks pretty amazing and powerful, Q. this is used so to reduce view code and make filter compilation more readable and performant. I feel a bit of shame for not having known about this!