from blog.models import Articulo, ArticuloForm, Comentario, ComentarioForm from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.http import HttpResponseRedirect from django.contrib.auth.decorators import user_passes_test def index(request): lista_articulos = Articulo.objects.all() return render_to_response('blog/index.html', RequestContext(request, { 'lista_articulos': lista_articulos})) def articulo(request, articulo_id): articulo = get_object_or_404(Articulo, pk=articulo_id) lista_comentarios = Comentario.objects.filter(articulo__pk=articulo_id) form = ComentarioForm() return render_to_response('blog/articulo.html', RequestContext(request, { 'articulo': articulo, 'lista_comentarios': lista_comentarios, 'form': form, 'user': request.user})) @user_passes_test(lambda u: u.has_perm('blog.can_add_comentario'), login_url='/usuarios/login/') def crear_comentario(request, articulo_id): articulo = get_object_or_404(Articulo, pk=articulo_id) comentario = Comentario(id=None, texto=request.POST['texto'], autor=request.user, articulo=articulo, ) comentario.save() return HttpResponseRedirect('/blog/%s/' % articulo_id) @user_passes_test(lambda u: u.has_perm('blog.can_add_articulo'), login_url='/usuarios/login/') def nuevo(request): if request.POST: articulo = Articulo(id=None, titulo=request.POST['titulo'], texto=request.POST['texto'], autor=request.user, ) articulo.save() return HttpResponseRedirect('/blog/%s/' % articulo.id) else: form = ArticuloForm() return render_to_response('blog/nuevo.html', {'form': form})