use generic views
This commit is contained in:
parent
23f3d2a96f
commit
89e0328a53
4 changed files with 37 additions and 29 deletions
|
|
@ -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
|
||||
|
|
|
|||
Reference in a new issue