Django: Getting Started Transcripts
Chapter: HTML Templates
Lecture: Introducing layout pages
Login or purchase this course to watch this video and the rest of the course contents.
0:00 you've got some template rendering basics under your belt and you're all set to build a page that has static content. So lex build an about page.
0:09 You may have noticed that there's a lot of repetition in HTML. Every page you write frequently has the same nav bar headers,
0:16 footers often even the same structure. All that repetition means a lot of work. If you decide to make a change, you wouldn't write your code like that.
0:25 So why write your HTML that way? Django template engine embodies the dry principle.
0:30 That's don't repeat yourself. It allows you to structure your output. Use inheritance and compose reusable pieces.
0:37 The sample example that's fun to say from earlier was rather plain moving forward.
0:43 I'll be using the bootstrap library to do a bit of styling on the page. Don't worry if you haven't used bootstrap before,
0:49 I'll stick to the basics and point things out as I go along, Inheritance and composition is done in the rendering engine through the tag system.
0:58 There are four tags you need to know about extends is the inheritance tag.
1:03 It says that this file should use the file named in the argument as apparent to
1:07 inherit from the block tag allows you to declare a reusable block of content. This is most often named and used in conjunction with inherited files,
1:17 allowing you to override blocks from the parent and insert new output within a block tag
1:23 A context variable named block dot super gives you access to the parents version of
1:29 a block. This allows you to create a child block but put content before or after what was in the parents block by referencing.
1:36 The super block include is a composition tag. It allows you to inject content from another file into the template at this location.
1:46 This tag can also take arguments so you can modify the context of the included file This can be useful in conjunction with a four loop.
1:54 You can loop around and include tag and pass in the four loops context variable into
1:58 the sub template. And the last tag you need for inheritance is the low tag It's used to load a tag library.
2:06 The tags you've seen so far have all been built in Jangle also provides some tags that are in modules or if you install 3rd party modules,
2:14 you need to use this. The low tag is the rendering engines equivalent of import