summaryrefslogtreecommitdiffstats
path: root/news/views.py
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2012-02-17 09:39:46 -0800
committerThibaut Horel <thibaut.horel@gmail.com>2012-02-17 09:39:46 -0800
commitd6655d4957b9e1654d1bfe262d093120def254ee (patch)
treeeffe7dcb8f771f2c026fff9d067fb74c4ca84a56 /news/views.py
downloadfamille-django-d6655d4957b9e1654d1bfe262d093120def254ee.tar.gz
Initial commmit.HEADmaster
Diffstat (limited to 'news/views.py')
-rw-r--r--news/views.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/news/views.py b/news/views.py
new file mode 100644
index 0000000..8256b8d
--- /dev/null
+++ b/news/views.py
@@ -0,0 +1,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,
+ })