Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2012, 01:49
xcodex
 
Fecha de Ingreso: octubre-2012
Ubicación: Trujillo
Mensajes: 29
Antigüedad: 12 años, 2 meses
Puntos: 6
Imprimir una vista sin el parametro request

Hola amigos de FW, estoy acá mirando la forma de crear un "sidebar" con las categorías y ultimas entradas para un blog personal.

Tengo: base.html, home.html, article.html, category.html.
Lo que quiero es tener un "sidebar" en cada pagina, que solo sea incluirlo en base.html.

Se puede lograr perfectamente agregando un objects.all en cada vista, pero la idea seria crear una función para que todo quede en la misma, el problema es que debo pasarle un "request" y crearle su respectiva "urlconf" pero como estamos claro yo no quiero una pagina "sidebar/" si no bloque mas para agregar un "sidebar". Amigos no se si los he liado, aquí algo de código:

Código Python:
Ver original
  1. from blog.models import Post, Categoria
  2.  
  3. def index_view(request):
  4.     post = Post.objects.all().order_by("-fecha")
  5.     lastsidebar = Post.objects.all().order_by("-titulo")[:100]
  6.     catsidebar = Categoria.objects.all()
  7.     return render_to_response("home.html", {'post': post, 'cat': cat sidebar, 'last': last sidebar})
  8.  
  9. #si notan siempre tengo que agregar lastsidebar y catsidebar en cada view que cree.
  10. def post_view(request, slug):
  11.     post = get_object_or_404(Post, slug=slug)
  12.     catsidebar = Categoria.objects.all().order_by("-titulo")
  13.     lastsidebar = Post.objects.all().order_by("-titulo")[:100]
  14.     return render_to_response("post.html", {'post': post, 'cat': cat sidebar, 'last': last sidebar})
  15.  
  16. #Lo que quiero es eliminar lastsidebar y catsibdear de todas las views y agruparlo en una función sidebar.
  17. #El problema es que necesito pasar el parámetro request pero como no es una pagina, no tengo idea como hacerlo.
  18. def sidebar():
  19.     #.............
  20.     return render_to_response('sidebar.html', ctx)

Así como esta funciona, pero quisiera saber lo anterior mencionado y también si creando una función aparte para el sidebar realizaría menos consultas.

Muchas Gracias si me pueden sacar de esa duda, mas que todo porque quiero saber como funciona.

Saludos.