views.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. from django.shortcuts import render
  2. # Create your views here.
  3. from django.views.generic.detail import DetailView
  4. from django.views.generic.list import ListView
  5. from blog.models import *
  6. from .models import *
  7. logger = logging.getLogger(__name__)
  8. # 关于
  9. class AboutDetailView(DetailView):
  10. # template_name = 'home/about.html'
  11. model = About
  12. # pk_url_kwarg = 'pk'
  13. context_object_name = "about"
  14. # 项目
  15. class ProjectListView(ListView):
  16. # template_name = 'home/project_index.html'
  17. model = Project
  18. ordering = ('sequence',)
  19. def get_context_data(self, **kwargs):
  20. # pk = int(self.kwargs[self.pk_url_kwarg])
  21. kwargs['services'] = Service.objects.all()
  22. return super(ProjectListView, self).get_context_data(**kwargs)
  23. # 项目详情
  24. class ProjectDetailView(DetailView):
  25. model = Project
  26. def get_context_data(self, **kwargs):
  27. # pk = int(self.kwargs[self.pk_url_kwarg])
  28. kwargs['next_project'] = self.object.next_project
  29. kwargs['prev_project'] = self.object.prev_project
  30. kwargs['related_projects'] = self.object.get_related_projects
  31. return super(ProjectDetailView, self).get_context_data(**kwargs)
  32. # 主页设置
  33. class HomeView(DetailView):
  34. template_name = 'index.html'
  35. model = Home
  36. def get_context_data(self, **kwargs):
  37. kwargs['recent_projects'] = Project.objects.order_by('-sequence')[:4]
  38. blogs = Article.objects.order_by('-created_time')[:12]
  39. kwargs['latest_blogs1'] = blogs[0:4]
  40. kwargs['latest_blogs2'] = blogs[4:8]
  41. kwargs['latest_blogs3'] = blogs[8:12]
  42. return super(HomeView, self).get_context_data(**kwargs)
  43. def index(request):
  44. return render(request, 'index.html')
  45. def miss_page(request):
  46. return render(request, 'home/404.html')
  47. def pricing_tables(request):
  48. return render(request, 'home/pricing_tables.html')
  49. def shortcodes(request):
  50. return render(request, 'home/shortcodes.html')
  51. def text_columns(request):
  52. return render(request, 'home/text_columns.html')
  53. def portfolio_2(request):
  54. return render(request, 'home/portfolio_2.html')
  55. def portfolio_3(request):
  56. return render(request, 'home/portfolio_3.html')
  57. def single_project(request):
  58. return render(request, 'home/project_detail.html')
  59. def services(request):
  60. return render(request, 'home/services.html')
  61. def copy(request):
  62. return render(request, 'share_layout/mycopy.html')