summaryrefslogtreecommitdiffstats
path: root/news/views.py
blob: 8256b8d28d26f5fb4b1cefb5f060ca92d723a5cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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,
    })