Skip to content

Commit fd218cd

Browse files
committed
demo code 5
1 parent 8adfb73 commit fd218cd

File tree

6 files changed

+39
-2
lines changed

6 files changed

+39
-2
lines changed

Diff for: class-27/in-class-demo/db.sqlite3

0 Bytes
Binary file not shown.

Diff for: class-27/in-class-demo/templates/thing_detail.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% extends 'base.html' %}
2+
3+
{% block content %}
4+
<div>
5+
<h2>{{ thing.name }}</h2>
6+
<p>Rating: {{ thing.rating }}</p>
7+
<p>Reviewer: {{ thing.reviewer }}</p>
8+
</div>
9+
{% endblock content %}

Diff for: class-27/in-class-demo/templates/thing_list.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% extends 'base.html' %}
2+
3+
{% block content %}
4+
5+
{% for thing in object_list %}
6+
<h2><a href="{% url 'thing_detail' thing.pk %}">{{ thing.name }}</a></h2>
7+
{% endfor %}
8+
9+
{% endblock content %}

Diff for: class-27/in-class-demo/things/models.py

+3
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ class Thing(models.Model):
66
name = models.CharField(max_length=256)
77
rating = models.IntegerField(default=0)
88
reviewer = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
9+
10+
def __str__(self):
11+
return self.name

Diff for: class-27/in-class-demo/things/urls.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
from django.urls import path
22

3-
from .views import HomePageView
3+
from .views import HomePageView, ThingDetailView, ThingListView
4+
45

56
urlpatterns = [
67
path('', HomePageView.as_view(), name='home'),
8+
path('thing/', ThingListView.as_view(), name='thing_list'),
9+
path('thing/<int:pk>/', ThingDetailView.as_view(), name='thing_detail'),
710
]

Diff for: class-27/in-class-demo/things/views.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from django.views.generic import TemplateView
1+
from django.views.generic import DetailView, ListView, TemplateView
2+
from .models import Thing
23

34

45
class HomePageView(TemplateView):
@@ -26,3 +27,15 @@ def get_context_data(self, **kwargs):
2627
]
2728

2829
return context
30+
31+
32+
class ThingListView(ListView):
33+
template_name = 'thing_list.html'
34+
model = Thing
35+
36+
37+
class ThingDetailView(DetailView):
38+
template_name = 'thing_detail.html'
39+
model = Thing
40+
41+

0 commit comments

Comments
 (0)