use generic views

This commit is contained in:
Lexi / Zoe 2019-06-03 17:57:25 +02:00
parent 23f3d2a96f
commit 89e0328a53
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
4 changed files with 37 additions and 29 deletions

View file

@ -1,20 +1,22 @@
from django.shortcuts import get_object_or_404, render
from django.views import generic
from .models import Project
from issues.models import Issue
def index(request):
project_list = Project.objects.order_by('project_key')
return render(request, 'projects/index.html', {
'project_list': project_list,
})
class IndexView(generic.ListView):
template_name = 'projects/index.html'
context_object_name = 'project_list'
def get_queryset(self):
return Project.objects.order_by('project_key')
def view(request, project_key):
project = get_object_or_404(Project, project_key=project_key)
issue_list = Issue.objects.filter(project=project.id).order_by('create_date')
return render(request, 'projects/view.html', {
'project': project,
'issue_list': issue_list,
})
class ProjectView(generic.DetailView):
model = Project
template_name = 'projects/view.html'
slug_field = slug_url_kwarg = 'project_key'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['issue_list'] = self.get_object().issue_set.order_by('create_date')
return context