最新Django2.0.1在线教育零基础到上线教程(九)
生活随笔
收集整理的這篇文章主要介紹了
最新Django2.0.1在线教育零基础到上线教程(九)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
演示地址: http://mxonline.mtianyan.cn
教程倉庫地址1: https://github.com/mtianyan/DjangoGetStarted
教程倉庫地址2: https://github.com/mtianyan/Mxonline2
教程倉庫地址3: https://github.com/mtianyan/Mxonline3
9-1 講師列表頁
teacherlist 和 teacher detail 一起放到template目錄之下
繼承base頁面
mark書寫view與配置url
# 講師列表path('teacher_list/', TeacherListView.as_view(), name="teacher_list"),添加講師的年齡字段
age = models.IntegerField(default=18, verbose_name=u"年齡")分頁仿照orglist 注意object_list
view
# 課程講師列表頁 class TeacherListView(View):def get(self, request):all_teacher = Teacher.objects.all()# 總共有多少老師使用count進行統計teacher_nums = all_teacher.count()# 對講師進行分頁# 嘗試獲取前臺get請求傳遞過來的page參數# 如果是不合法的配置參數默認返回第一頁try:page = request.GET.get('page', 1)except PageNotAnInteger:page = 1# 這里指從allorg中取五個出來,每頁顯示5個p = Paginator(all_teacher, 4, request=request)teachers = p.page(page)return render(request, "teachers-list.html", {"all_teacher":teachers,"teacher_nums":teacher_nums})排序 & 講師排行榜
sort = request.GET.get("sort", "")if sort:if sort == "hot":all_teacher = all_teacher.order_by("-click_nums") "sort":sort將sort return到前端。實現active
排行榜講師
# 排行榜講師rank_teacher = Teacher.objects.all().order_by("-fav_nums")[:5] markforloop.count 取出當前是第幾次循環
9-2 講師詳情頁
mark配置url和view
列表頁中配置入口
# 教師詳情頁面class TeacherDetailView(View):def get(self, request, teacher_id):teacher = Teacher.objects.get(id = int(teacher_id))all_course = teacher.course_set.all()# 排行榜講師rank_teacher = Teacher.objects.all().order_by("-fav_nums")[:5]has_fav_teacher = Falseif UserFavorite.objects.filter(user=request.user, fav_type=3, fav_id= teacher.id):has_fav_teacher = Truehas_fav_org = Falseif UserFavorite.objects.filter(user=request.user, fav_type=2, fav_id= teacher.org.id):has_fav_org = Truereturn render(request, "teacher-detail.html", {"teacher":teacher,"all_course":all_course,"rank_teacher":rank_teacher,"has_fav_teacher":has_fav_teacher,"has_fav_org":has_fav_org,}) # 訪問機構講師re_path('teacher/detail/(?P<teacher_id>\d+)/', TeacherDetailView.as_view(), name="teacher_detail"),第九章完結
總結
以上是生活随笔為你收集整理的最新Django2.0.1在线教育零基础到上线教程(九)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪些思维方式是你刻意训练过的?
- 下一篇: NLP系列学习:前向算法和后向算法