summaryrefslogtreecommitdiff
path: root/tutorial_5_django_templates
diff options
context:
space:
mode:
authorKing2017-06-21 15:41:15 +0530
committerGitHub2017-06-21 15:41:15 +0530
commita9e0a78c2e99b3ef937a9600bf7915ae17edb7c1 (patch)
treebcf36451b9ca221606fae351accb39c810e22197 /tutorial_5_django_templates
parent9baeea5fbb1ab7da9343de3c6371e14660e1ffbe (diff)
downloadlearn_django-a9e0a78c2e99b3ef937a9600bf7915ae17edb7c1.tar.gz
learn_django-a9e0a78c2e99b3ef937a9600bf7915ae17edb7c1.tar.bz2
learn_django-a9e0a78c2e99b3ef937a9600bf7915ae17edb7c1.zip
tutorial5 on django templates
Need to modify further and add timings.
Diffstat (limited to 'tutorial_5_django_templates')
-rw-r--r--tutorial_5_django_templates110
1 files changed, 110 insertions, 0 deletions
diff --git a/tutorial_5_django_templates b/tutorial_5_django_templates
new file mode 100644
index 0000000..cf23048
--- /dev/null
+++ b/tutorial_5_django_templates
@@ -0,0 +1,110 @@
+Tutorial: Create Views and Route your URLS(urls setting)
+===========================================
+[Demonstration time: 10 mins 50 s (0.85 ~ 85%) | Total time: 12 mins 42 s]
+
+Slide 1 [00:08 | 00:08]
+------------
+Title Slide
+**Creating Views and Routing URLs**
+
+Slide 2 [00:12 | 00:20]
+--------------
+
+**Learning Objectives**
+
+In this tutorial, we will learn to;
+ - Create a django template
+
+Slide 3 [00:11 | 00:31]
+---------------
+
+**System Requirements**
+ - Ubuntu 16.10
+ - Python 3.5 or higher version
+ - python3.4-venv
+
+Slide 4 [00:11 | 00:42]
+---------------
+
+**Pre-requisites**
+
+In order to follow this tutorial, you need to know;
+ - how to create views in django
+ - If not, see the relevant django tutorial on http://spoken-tutorial.org
+
+Slide 5 [00:18 |]
+------------
+**What is a Django Template**
+ - We have hardcoded the output in the view
+ - What if we want the displayed html to change dynamically?
+ - Use a 'template' HTML file
+ - Template HTML files contain Django template tags that act like variables
+ - Django replaces these tags in the HTML file with dynamic data obtained from views
+
+ Demonstration [03:00 | ]
+----------------
+**How to create a template**
+
+ - Create a directory called *templates* in blog directory (/blog/templates)
+ - cd blogs
+ - mkdir templates
+ - Create a directory called *blog* within the *templates* directory
+ - cd templates
+ - mkdir blog
+
+In this directory create an *blogs.html* file and add the below code
+
+ # /blog/templates/blog/blogs.html
+ {% if articles %}
+ <ul>
+ {% for article in articles %}
+ <li>{{ article.title }} | Blog: {{ article.blog.name}}</li>
+ {% endfor %}
+ </ul>
+ {% else %}
+ <p>No Blog articles are available.</p>
+ {% endif %}
+
+ - We created a django template using an HTML file
+ - The Django templates give the user limited programming logic capabilities like variables, if-else & for loops
+
+This is an if-else statement in Django templates
+
+ {% if %}
+ ...
+ {% else %}
+ ...
+ {% endif %}
+
+This is a for loop
+
+ {% for var in my_list %}
+ ...
+ {% endfor %}
+
+ - variables and objects are represented as {{ my_variable }}
+ - *Narrator's note* We will discuss more about Django templating later in the series
+
+Demonstration [01:00 | ]
+----------------
+Now let's modify the blog/views.py as follows
+
+ from django.http import HttpResponse
+ from django.shortcuts import render
+
+
+ from .models import Blog, Article
+
+ def index(request):
+ article_list = Articles.objects.all()
+ context = {'article_list': article_list}
+ return render(request, 'blog/index.html', context)
+
+ - Run the django server
+ - Access the link localhost:8000/blogs/
+
+
+*** With this we come to the end of the tutorial***
+ ----------------------------------------------------
+ *** Add concluding slides and assignment***[00:42 | ]
+ -------------------------------------------