from django.contrib.auth.decorators import login_required from django.contrib.auth.mixins import LoginRequiredMixin from django.http import HttpResponseRedirect from django.shortcuts import render from django.views import generic from .forms import IssueForm from .models import Issue class IndexView(LoginRequiredMixin, generic.ListView): template_name = 'issues/index.html' context_object_name = 'issue_list' def get_queryset(self): return Issue.objects.order_by('create_date') class DetailView(LoginRequiredMixin, generic.DetailView): model = Issue template_name = 'issues/detail.html' pk_url_kwarg = 'issue_id' # class NewIssueForm(LoginRequiredMixin, generic.FormView): # template_name = 'issues/new.html' # form_class = IssueForm # success_url = @login_required def new(request): if request.method == 'POST': form = IssueForm(request.POST) if form.is_valid(): new_issue = form.save() return HttpResponseRedirect('/issues/{}'.format(new_issue.id)) else: form = IssueForm() return render(request, 'issues/new.html', { 'form': form, })