diff --git a/blog/views.py b/blog/views.py index 183b1e7..bc4ad0b 100644 --- a/blog/views.py +++ b/blog/views.py @@ -2,32 +2,16 @@ get_object_or_404, redirect, render) from django.views.decorators.http import \ require_http_methods -from django.views.generic import View +from django.views.generic import ( + CreateView, ListView, View) from .forms import PostForm from .models import Post -class PostCreate(View): +class PostCreate(CreateView): form_class = PostForm - template_name = 'blog/post_form.html' - - def get(self, request): - return render( - request, - self.template_name, - {'form': self.form_class()}) - - def post(self, request): - bound_form = self.form_class(request.POST) - if bound_form.is_valid(): - new_post = bound_form.save() - return redirect(new_post) - else: - return render( - request, - self.template_name, - {'form': bound_form}) + model = Post class PostDelete(View): @@ -66,13 +50,8 @@ def post_detail(request, year, month, slug): {'post': post}) -class PostList(View): - - def get(self, request): - return render( - request, - 'blog/post_list.html', - {'post_list': Post.objects.all()}) +class PostList(ListView): + model = Post class PostUpdate(View):