views.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from django.shortcuts import render
  2. from django.core.paginator import Paginator
  3. from common.models import Article
  4. TEAM_CATEGORIES = {
  5. 'academic_leader': ('学院学科建设带头人', 'academic_leader'),
  6. 'computer_science': ('计算机系', 'computer_science'),
  7. 'software_engineering': ('软件工程系', 'software_engineering'),
  8. 'digital_media': ('数字媒体技术系', 'digital_media'),
  9. 'iot_networking': ('物联网与网络工程系', 'iot_networking'),
  10. 'math_teaching': ('数学教研室', 'math_teaching'),
  11. 'party_work': ('党政学工队伍', 'party_work'),
  12. }
  13. def get_view(category):
  14. def view(request):
  15. articles = Article.objects.filter(category=category).all()
  16. paginator = Paginator(articles, 12)
  17. page_number = request.GET.get('page')
  18. page_obj = paginator.get_page(page_number)
  19. title, active_menu = TEAM_CATEGORIES.get(category, ('', category))
  20. context = {
  21. 'title': title,
  22. 'list': page_obj,
  23. 'active_menu': active_menu,
  24. }
  25. return render(request, 'team.html', context)
  26. return view
  27. academic_leader = get_view('academic_leader')
  28. computer_science = get_view('computer_science')
  29. software_engineering = get_view('software_engineering')
  30. digital_media = get_view('digital_media')
  31. iot_networking = get_view('iot_networking')
  32. math_teaching = get_view('math_teaching')
  33. party_work = get_view('party_work')