from django.shortcuts import render_to_response, redirect from django.forms import ModelForm from news.models import News from django.views.generic import ListView, DetailView from django.db.models import Count from django.http import HttpResponseRedirect class NewsForm(ModelForm): class Meta: model = News class NewsList(ListView): model = News paginate_by= 5 queryset = News.objects.annotate(Count('comment')).select_related('author__username') context_object_name = 'news_list' class NewsView(DetailView): model = News context_object_name='news' def post(request): if request.method == 'POST': form = NewsForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('') else: form = NewsForm() return render_to_response('news/post.html', { 'form': form, })