页面继承自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<course_id>\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
<a href="{% url 'course:course_detail' course.id %}">
要显示学习用户的头像。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})
网友评论