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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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})
|