blob: 4ecf773849c9ac8948414c22b9d3ed6b6977ef6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
Tutorial: Create Views and Route your URLS(urls setting)
===========================================
[Demonstration time: mins s (0.85 ~ 85%) | Total time: mins 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 view
- Create a url routing scheme
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 models in django
- If not, see the relevant django tutorial on http://spoken-tutorial.org
Slide 5 [00:10 | 00:52]
------------
**What is a View**
- A view is code that accepts a request
- It processes the request and sends back a response
Demonstration [02:00 | 02:52]
-----------
**Creating a View**
Edit the /blog/views.py
# /blog/views.py
from django.http import HttpResponse
from .models import Blog
def get_blogs(request):
blogs = Blog.objects.all() # This is called a query
return HttpResponse(blogs)
- Narrator Notes: Please state that Django queries will be explained later in the series,
and should explain the above code.
Demonstration [02:50 | 05:42]
-----------
**Add URL routing to URLConf**
Now change the /myproject/urls.py so that the project knows which urls file to call
This is called the URL Dispatcher
# /myproject/urls.py
from django.conf.urls import include, url
from django.contrib import admin
from blog import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blogs/$', views.get_blogs, name='blogs') # Add this line
]
- Run the django server using command:
- python manage.py runserver
- **Narrator Note**: Show the web browser to the user
- Go to the url http://localhost:8000/blogs/ and show the output.
- You will see the blog object Query set.
- So we have created a simple client-server model.(At this point we can show
the image we showed in previous tutorial.)
- Let us now improve our view.
Demonstration [01:30 | 06:22]
-----------
In the /blog/views.py edit get_blogs function
def get_blogs(request):
blogs = Blog.objects.all() # This is called a query
response = 'Blogs:\n\n'
for blog in blogs:
response += '{0}\n'.format(blog)
return HttpResponse(response)
- Narrator Notes: Should explain the above code.
- Save and again show the browser.
- We now see the individual blog object created in tutorial 3.
Demonstration [01:30 | 07:52]
-----------
Let us further edit the view to display articles related to a blog.
In the /blog/views.py edit get_blogs function
def get_blogs(request):
blogs = Blog.objects.all() # This is called a query
response = 'Blogs:\n\n'
for blog in blogs:
articles = Articles.objects.filter(blog=blog)
response += '{0}\n'.format(blog)
response += '\n'.join([article.title for article in articles])
return HttpResponse(response)
- Narrator Notes: Should explain the above code.
- Save and again show the browser.
- We now also see the article created in the tutorial 3.
*** With this we come to the end of the tutorial***
----------------------------------------------------
*** Add concluding slides and assignment***[00:42 | 08:34]
-------------------------------------------
|