24、Django實戰第24天:講師列表頁
阿新 • • 發佈:2018-03-25
try object imp 圖片 light except div 分頁 integer
1、復制teracher-list.html到templates目錄下
2、編輯teacher-list.html,繼承base模板
3、編輯organization.views.py
... from .models import Teacher class TeacherListView(View): def get(self, request): all_teachers = Teacher.objects.all() return render(request, ‘teachers-list.html‘, { ‘all_teachers‘: all_teachers, })
4、配置url,編輯organization.urls.py
... from .views import TeacherListView urlpatterns = [ ... url(r‘teacher/list/$‘, TeacherListView.as_view(), name=‘teacher_list‘ ), ]
5、修改index.html,base.html中的授課教師鏈接
6、先把所有的講師都展示出來
分頁
編輯organization.views.py
class TeacherListView(View): def get(self, request): all_teachers = Teacher.objects.all() # 分頁 try: page = request.GET.get(‘page‘, 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 2, request=request) teachers = p.page(page) return render(request, ‘teachers-list.html‘, { ‘all_teachers‘: teachers, })
編輯前端頁碼
修改前面的展示教師列表
人氣排序 和統計教師
編輯organization.views.py
class TeacherListView(View): def get(self, request): all_teachers = Teacher.objects.all() # 人氣排序 sort = request.GET.get(‘sort‘, ‘‘) if sort: if sort == ‘hot‘: all_teachers = all_teachers.order_by(‘-click_nums‘) # 統計教師數 teacher_nums = all_teachers.count() # 分頁 try: page = request.GET.get(‘page‘, 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 2, request=request) teachers = p.page(page) return render(request, ‘teachers-list.html‘, { ‘all_teachers‘: teachers, ‘sort‘: sort, ‘teracher_nums‘: teacher_nums })
前端配置
講師排行榜
編輯organization.views.py
class TeacherListView(View): def get(self, request): all_teachers = Teacher.objects.all() # 人氣排序 sort = request.GET.get(‘sort‘, ‘‘) if sort: if sort == ‘hot‘: all_teachers = all_teachers.order_by(‘-click_nums‘) # 統計教師數 teacher_nums = all_teachers.count() # 講師排行榜 rank_teachers = all_teachers.order_by(‘-click_nums‘)[:2] # 分頁 try: page = request.GET.get(‘page‘, 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 2, request=request) teachers = p.page(page) return render(request, ‘teachers-list.html‘, { ‘all_teachers‘: teachers, ‘sort‘: sort, ‘teracher_nums‘: teacher_nums, ‘rank_teachers‘: rank_teachers, })
前端展示
24、Django實戰第24天:講師列表頁