# Introduction to HTML What's a template, you may ask? A template is a file that we can re-use to present different information in a consistent format - for example, you could use a template to help you write a letter, because although each letter might contain a different message and be addressed to a different person, they will share the same format. A Django template's format is described in a language called HTML (that's the HTML we mentioned in the first chapter __How the Internet works__). ## What is HTML? HTML is a simple code that is interpreted by your web browser - such as Chrome, Firefox or Safari - to display a webpage for the user. HTML stands for "HyperText Markup Language." __HyperText__ means it's a type of text that supports hyperlinks between pages. __Markup__ means we have taken a document and marked it up with code to tell something (in this case, a browser) how to interpret the page. HTML code is built with __tags__, each one starting with `<` and ending with `>`. These tags markup __elements__. ## Your first template! Creating a template means creating a template file. Everything is a file, right? You have probably noticed this already. Templates are saved in `blog/templates/blog` directory. So first create a directory called `templates` inside your blog directory. Then create another directory called `blog` inside your templates directory: blog └───templates └───blog (You might wonder why we need two directories both called `blog` - as you will discover later, this is simply a useful naming convention that makes life easier when things start to get more complicated.) And now create a `post_list.html` file (just leave it blank for now) inside the `blog/templates/blog` directory. See how your website looks now: http://127.0.0.1:8000/ > If you still have an error `TemplateDoesNotExists`, try to restart your server. Go into command line, stop the reserver by pressing Ctrl+C (Control and C buttons together) and start it again by running a `python manage.py runserver` command.  No error anymore! Congratulations :) However, your website isn't actually publishing anything except an empty page, because your template is empty too. We need to fix that. Add the following to your template file:
Hi there!
It works!
So how does your website look now? Click to find out: http://127.0.0.1:8000/  It worked! Nice work there :) - The most basic tag, ``, is always the beginning of any webpage and `` is always the end. As you can see, the whole content of the website goes between the beginning tag `` and closing tag `` - `` is a tag for paragraph elements; `
` closes each paragraph ## Head & body Each HTML page is also divided into two elements: __head__ and __body__. - __head__ is an element that contains information about the document that is not displayed on the screen. - __body__ is an element that contains everything else that is displayed as part of the web page. We use `` to tell the browser about the configuration of the page, and `` to tell it what's actually on the page. For example, you can put a webpage title element inside the ``, like this:Hi there!
It works!
Save the file and refresh your page.  Notice how the browser has understood that "Ola's blog" is the title of your page? It has interpreted `published: 14.06.2014, 12:14
Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
published: 14.06.2014, 12:14
Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut f.