字幕表 動画を再生する
What's going on, everybody.
And welcome to an update to the Web development in Python with Django tutorial Siri's.
It's been about three years since I covered Django, so I think it's about time to do a little bit of an update.
Plus, everybody had been asking for something a little more in depth last time.
So hopefully gonna kill two birds, one stone.
So here we have the Django home page.
You actually don't have to go here, but this is their website.
They've got documentation and all that.
Definitely check that out.
They also have a pretty decent tutorial that's worthy of following us.
Well, especially if you guys are getting confused on how things work in Django and stuff like that.
So Django is kind of Ah, hi initial investment for you, or at least for most people, because the understanding had this whole model view controller thing works, and all the connections that need to be made can be kind of a challenge initially.
But I promise, if you stick through, it's definitely worth it in the end, because as your project grows and you need to make changes or at new things, using something high quality like Django is going to make it unbelievably easy for you down the line.
It's just a little harder to get started.
But hopefully I can make it easier for you guys.
So it's going to get into it.
Enough chitchat.
I think the best way to learn Jango and really anything is to just do it.
I'm gonna assume you guys know the basics of Python.
If you don't follow any basics tutorial, you can go to Python program and that come to the fundamentals Boom.
There's a basic Siri's there or anyone else is just I just know the basics.
Okay, so, uh, let's go get started.
So the first thing Oh, a couple of the things I'm gonna mention is I'm gonna be using the sublime text editor.
You don't have to use sublime text.
You could use any editor you want.
You could use note pad plus plus or no pad for that matter or pie charm or whatever use whatever you want.
The other thing is, I'm gonna be doing some of the development on a Windows machine and then later will be on Lenox Server eventually.
If you're going to deploy a website chances are you're gonna be on Lenox somewhere.
So anyway, your operating system doesn't matter.
I've also done a lot of development on Mac.
I've done it on Windows and I've done on Lenox.
It just doesn't matter.
So, um, we're gonna be using Python 3.7 here.
Eso also, I'm assuming you've got Python installed already.
And with that, let's go ahead and get started.
So the first thing I'm gonna do is hopefully not drool out of my mouth and, uh, opened up a command window and we're going to a pip install.
Jingo, if you're on Lennox or Mac, you might say instead, like python three m pip installed Django or something like that.
Um, if you're on windows, it's Pip.
If you have multiple versions of python, then it would be like pie Dash 3.7 m.
Pip install.
Okay, I'm assuming.
Like I said, though, you guys already know that.
So take note.
We're using Django 2.1 point five here.
Uh, you don't have to use the exact version I use.
Just know that as things progress, things might be a little different from what I've seen.
A lot of things are still backwards compatible, and it's like totally fine.
Things are getting deprecate ID, but sometimes things are So, um, if something's not working out for you, for whatever reason, you could try to install the exact same virgin as I'm using to see if it's just a difference in version.
So, for example, if you wanted to, you could also say Pip install Django double equals 2.1 point five, and that will install exactly version 2.1 point five.
Now we'll just say before you deploy your your creation.
Um, make sure you're using the latest version of Django.
Uh, there's lots of things that change over time.
One of those things is like security fixes and stuff.
So if you're using an outdated Django, you might be making a mistake.
So So the only reason you should install a specific version that I'm using here is just so you could follow along and just learn about Django and then later learn what?
What's the difference between Let's say, Jen go to in Django 2.5 or something like that?
But probably unless this first number changes like Django three, something, uh, probably will get away with following along.
Anyway, let's see if we're done with the We are done with the install.
When you install Django, you get a little command line thing.
Hold Django admin.
We got all these things with Django admin, but the main thing that we're gonna do is start a project.
And, um, trying to think here, that's probably one of the main things that you're actually going to use jango admin for.
Um, apparently, you can do quite a few other things with Django admin, but instead you'll be using a different script.
So anyways, um, we're going to say is Django admin start project, and we're gonna call this project.
My sight the way Jingo works is it assumes all websites are actually just a collection of APS.
It could just be one app for sure, but it's probably a collection of app.
So consider a website that has, like, a forum, a store, and like a blogger or something like that.
Okay, Either of those things are separate taps here have a form app.
Gotta store wrapping a blah gap.
Okay, that's how Django sees things.
So when we start a project, our project is called my sight and within my sight, we're gonna have a bunch of APS that do things.
The thing that we're gonna dio is, uh, we're gonna create a website that's like python programming dot net.
I've been considering switching Python programming that net over to Django.
Currently, it's written in a flask.
And for the reasons I mentioned before, as the whips, a za project grows in flask, trying to add new elements and change things over time becomes very tedious.
With Django, it's just not so, um I mean, there's always makes me think of a comment comic.
I've done it again.
Wow, If I could type, haven't tied.
I bet if I go to images, hopefully we don't see it yet.
Hopefully, nothing on here is what we shouldn't have saved searches on.
Anyways, this is the comic I always think of.
You know, you start off a project, you think you're doing great.
And then at the end of the day, it it looks something more like this.
And initially, as we're setting up Django, it's gonna feel like we're doing this.
But the thing is, that is complex as it will ever get, as opposed to Ah, project like python programming.
That net where there's so many little connections going all over the place, it really is a challenge.
I do think it's worth it to use Jango long term, Just hard toe initially get into it.
But anyways, start project my sight.
Boom.
Let's create my sight.
And what's gonna happen is we should have a new directory.
We sure do.
Called my sight.
This is your your project right inside of your project.
You have another directory called my site.
And then we have managed a pie, which is actually what we're going to use to do much of the things coming up.
So, um, inside of this my sight directory.
This is kind of like an app already, but I'm gonna refer to this.
There's probably a special term in Django.
I just don't know it.
I'm gonna call this You're, like, primary app inside of this app.
Really?
All this app is going to do is point to your other APS.
You're not gonna use this.
You're gonna actually developing here other than to point to other APS and adjust the settings.
Other than that, you're not gonna really do anything.
I'm sure zoom in a little bit.
So coming back out to this directory, we want to play with managed up pies.
So I'm gonna open up a command window here if you hold shift and right click.
By the way, that's how I get that.
You also, if you're on Windows, could just do CMD That should also open up a command window right where you are.
So the first thing that we're gonna do is start an app.
So I'm gonna say, uh, it's a pie.
Dash 3.7 actually could just say python because I only have one version, but anyways, pie 3.7, manage dot pie start app, and then we're gonna call this app main, so this will be like the main core of the website.
So for me, this is where, like, we're gonna put like tutorials like the main aspect is tutorials.
And if anything, I could probably call this tutorials as well, but I'm probably gonna want to put other things inside of Maine besides just tutorials.
So I'm gonna call it main for now.
So we've created an app Cold man.
If we come back, we should see we've got another directory here called Main.
If we open that up, it looks a lot like or my sight directory or our primary app.
But we've got actually some extra things here.
And as we can see, we've got models views.
Where's the controller?
We actually don't have any controller here, but we'll get there.
I promise.
So, um, what we want to do now is, um Let's go ahead.
I'm gonna get this just to stay running now.
So what I'm gonna say I'm gonna move.
Have to command prompts here.
1st 1 I'm gonna do is we're gonna use managed a pie, and we're actually just going to say run server.
So run server.
And what this does is runs your development server.
You, in theory, could run a whole website off of this.
It just isn't recommended price for all sorts of reasons, including security reasons.
Anyway, you can see we've got some, uh, migration issues that weaken worry about later, but mainly we can see that the website is now running at basically local host on Port 8000.
So, uh, let's head there.
We'll see what we got pieced.
Okay, so you get this little beautiful imagery and it just kind of notifies you.
Hey, things are working sort of up to this point, but rather than having this kind of display, I think it's a little cooler toe.
Have you no control?
Like, how do I change all of these things?
So let's get into it.
So first of all, with the model view controller, it kind of works almost like in reverse of that.
You've got your controller, which basically takes the girl that whoever typed in or clicked on a link that went to that you are Oh, the controller takes that you are Oh, and maps that two of you And then that view returns the template.
Now, most of the time that views also gonna interface with your models, but it doesn't actually have to.
Really?
You just need a controller interview to return something.
So let's go ahead and do that just so we can start to pick up how all of this this stuff works.
So, uh, the first thing that we're gonna do is, um let's just create inside of Maine here.
We don't have a u.
R l stop eye.
So we need to create one.
The other thing we could do is go into my sight.
Take this year old stop.
I I'm just gonna say copy that, and then I'm gonna come in two main paste.
And now we have a you earl's dot pie.
Um, I'd love to know.
Like, why it doesn't by default come like when you start a new app.
Why it doesn't have your world stop I by default.
If anybody actually knows that, be cool.
So this is like the first time I'm using this, uh, this machine.