Django 1.11 is released for the world to use. It comes with a lot of changes, which can take some time to read.
In my last video I mentioned I would read these release notes if there was interest so here you go. I have read all of the release notes so you can just put on some headphones and hit play.
You can't always, easily, keep up with the latest and greatest of what is coming out in django, so since we have a new release candidate for django 1.11 here are a few of the highlights.
I would say there are some interesting things that are on the horizon for django, especially since this is the last 1.x release before we are on to 2.0.
If you have done django for any amount of time you have probably gotten this question, and it can sometimes be hard to answer beyond start at the main django site.
In this video I attempt to help by giving people a starting point, and some guidance on resources to and how to use.
Give it a watch and offer any suggestions, and tweaks you think should be made.
Out of the ordinary things are the times that we grow the most as developers. However, a lot of times we don't do enough weird things when we write our software.
I would encourage you to try that odd idea that you have been messing with in your head that you aren't sure you can do. Ironically you will grow more as a developer from that than your day to day getting stuff done development
I am not sure why I ever really thought about this, but give a watch to what keyed me in on this thought.
Have you ever been bitten by not pinning your dependencies in your django project? If not be glad, and come learn from my problems.
Pinning your dependencies is important to solve future unknown issues, better the devil you know and all that.
In this weeks video I talk about 3 times I had issues. They are either not pinning my dependencies, a weird edge case with pinning and python, and not really understanding what I was doing with pinned dependencies.
Testing is always one of those topics that can be interesting to talk about. There are a lot of different opinions on testing so it can be fun.
Django comes with some great tools for testing, so this week we will talk a little bit about the different types of tests. Then expand on that with how that relates to Django.
I also present to you a new type of test at the end of the video that I have been using, special thanks to a co-worker for coming up with the idea. It is really specific to django, and I haven't heard of others doing it.
Anytime anyone brings up Class Based Views, generic and otherwise, it is similar to the Vim vs Emacs debate. So lets pile on a bit more.
But not really. In actuality, I feel like there are good, solid, and legitimate reasons to use Class Based Views which get passed over in the middle of arguments.
In this weeks topic I talk about 5 of those reasons I think people should use Class Based Views. In reality there are more, but I wanted to keep the video short'ish.
There are a lot of 3rd party django apps that people put out which makes our lives easier, but are they good?
There are a lot of ways to evaluate them, mostly it seems a lot of people use intuition.
In this weeks video I go over several ways of how I go about vetting projects before use in my projects.
How to Vett Django Apps
There are a lot of ways to deploy Django so I think it is one of those topics people are really curious about how other people do it. Generally, in all deploys you need to get the latest code, run migrations, collect your static files and restart web server processes. How yo do those steps, that is the interesting part.
In todays video I go over How I deploy Django day to day, followed by some other ways I have done it. This is definitely a topic you can make as easy or complicated as you want.
Here is the link again: https://www.youtube.com/watch?v=43lIXCPMw_8?vq=hd720
Have you ever needed to quickly modify data or look it up. But while the task is simple the entire process of changing one value frustrates you?
Well, this is very common to me, bad UX is annoying. I quite often have to either lookup, or edit, two disparate, yet related pieces of data, and sometimes it is an exercise in frustration.
An all to common occurrence is I just needed to check the edit history of a "Company" our database. This is a simple process, go to the admin find the Company model, do a search and you have your answer.
Except, it isn't that easy in reality. Lets run through what really happened.
I went to "http://superawesomesite.com/admin/" and logged in.
I then looked at how my model options extended well below the fold of my browser so I had to scroll. No problem I'll just hit "ctrl+f" and search for it. WTF!!! where is my company model?
I then proceed to scroll down and finally find it only to remember it was pluralized. If I had searched for "Companies" I would have been good to go, grrrrr.
I click into and see the list of companies available to me. I see that there is a search feature at the top so I do a search for the relevant information. Unfortunately, I don't know the company name that is what I am trying to find out.
Except, we aren't filtering our search in the admin based on that field. So no results show up.
No problem I can do a list filter on the side. So I set the correct filters and still no luck because someone didn't set all the metadata that was supposed to be set for the company. Again grrrrr.
Finally, I abandoned the admin and opened up the django/python shell and did a query with the model, and in about 30 seconds had the record I needed. Took the id and plugged that into the django admin and I was good to go.
This was an exercise in frustration because the 30 seconds that was taken during development to decide which fields should be filtered didn't let that person imagine the field I needed. Also the fact that whomever added the company didn't add all the correct information, made it almost impossible to find the data. In the end I had to go outside this system that is hailed as one of the greatest tools for django to get the information I needed.
I propose we as a community reduce our reliance on the django admin, especially in production.
I also created a Video on the 5 reasons we shouldn't use the django admin.