33.课程详情页

页面继承自base。具体是哪个课程需要用id判断,体现在url中

from django.conf.urls import url, include
from .views import CourseListView,CourseDetailView


urlpatterns = [
    #课程机构列表页
    url(r'^list/$', CourseListView.as_view(), name="course_list"),
    #课程详情页
    url(r'^detail/(?P\d+)/$', CourseDetailView.as_view(), name="course_detail"),

]

响应函数也需要传入course_id

class CourseDetailView(View):
    """
    课程详情页
    """
    def get(self,request,course_id):
        return render(request,"course-detail.html",{})

前端课程list页面点击课程超链接时也需要传入id到url

要显示学习用户的头像。operation这个app有个model叫UserCourse
它有个外键course,把用户和课程关联起来。于是在Course表里
def get_learn_users(self):
return self.usercourse_set.all()[:5]
在前端调用时.image。
点击数也简单,在响应函数。

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})

你可能感兴趣的:(33.课程详情页)