頁面繼承自base绰寞。具體是哪個(gè)課程需要用id判斷,體現(xiàn)在url中
from django.conf.urls import url, include
from .views import CourseListView,CourseDetailView
urlpatterns = [
#課程機(jī)構(gòu)列表頁
url(r'^list/$', CourseListView.as_view(), name="course_list"),
#課程詳情頁
url(r'^detail/(?P<course_id>\d+)/$', CourseDetailView.as_view(), name="course_detail"),
]
響應(yīng)函數(shù)也需要傳入course_id
class CourseDetailView(View):
"""
課程詳情頁
"""
def get(self,request,course_id):
return render(request,"course-detail.html",{})
前端課程list頁面點(diǎn)擊課程超鏈接時(shí)也需要傳入id到url
<a href="{% url 'course:course_detail' course.id %}">
要顯示學(xué)習(xí)用戶的頭像铣口。operation這個(gè)app有個(gè)model叫UserCourse
它有個(gè)外鍵course滤钱,把用戶和課程關(guān)聯(lián)起來。于是在Course表里
def get_learn_users(self):
return self.usercourse_set.all()[:5]
在前端調(diào)用時(shí).image脑题。
點(diǎn)擊數(shù)也簡單件缸,在響應(yīng)函數(shù)。
class CourseDetailView(View):
"""
課程詳情頁
"""
def get(self,request,course_id):
course= Course.objects.get(id=course_id)
course.click_nums +=1
course.save()
return render(request,"course-detail.html",{"course":course})