Intro to Django

My first taste of web development: What is any of this?

I can’t lie, week six of The Iron Yard has been hard. Like really hard. I’ve been putting in even more work than I have the past few weeks, which I didn’t even realize was possible!

Why was this week so hard? We switched gears completely and entered the world of web development. Previously the course had been focused on the fundamentals in weeks one and two, and then we’ve been working on data science and machine learning in weeks three, four, and five. This is a totally new thing! I talked about learning a little about HTML and CSS on Monday, so the rest of the week was all Django, all the time.

I felt like the week was just a firehose of information. It’s all essential stuff, but its hard to process everything right away and really see how its all fitting together.

Models? Views? Templates? What? Databases? SQL and SQLite?

Learning what a web development framework is was an adventure in and of itself. My partner is a Rails developer, and I’ve actually attended a RailsBridge event, so I had a tiny amount of knowledge going in about the general schema. That being said, it took me a long time to understand at any level what was going on, and by no means still am I feeling like I get everything that is going on.

What really helped me was having Ashley explain to me what a database really is in web development and how Rails (in her case) is communicating with that database to create a functional app. While there are some differences in Rails and Django, they are certainly similar enough that I was really able to wrap my head around what was happening after her tutorial.

It helped me immensely to understand that models aren’t really classes like how I thought they were, they’re certainly similar, but models are how we’re setting up our databases and the kind of information we want to get out of it. Views are how we’re setting up each page type, and templates are just the icing on top with some HTML, CSS, embedded python (just a touch!), and eventually Javascript I assume.

I thought I understood on a high level how Django was set up before this, and I’m positive that James mentioned all this at some point, but hearing it again, and hearing it explained 16 times by my partner, was absolutely crucial in my understanding.

We started building a Django app that replicates the functionality of a previous movie database program, just with Django, obviously. This has been really tough to build an app from scratch (or at least mostly scratch). Thankfully, this weekend our assignment is to completely rewrite everything we built on Tuesday, Wednesday, and Thursday. Building the same app has been a great way to reinforce everything we learned this week. We’ve been trying to not look at our old code and really use all the things we’ve learned building it the first time.

I feel much better about my app the second time around, and I’m excited for next week! We’ll be working with databases more and I think that will cause a lot more things to click.