Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2016, 19:49
Avatar de Hyemin
Hyemin
 
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 10 años, 4 meses
Puntos: 0
DJANGO - Error en un if de HTML

Buenas, estoy trasteando un poco con Python, me compre un par de libros para aprender el lenguaje y por lo pronto he venido bastante bien.

Me surje un error con un ejercicio que es el siguiente

Dentro del body tengo
Código Python:
Ver original
  1. {% if error %}
  2. <p>Por favor no poner un campo vacio</p>
  3.  
  4. {% endif %}

En views.py la funcion que renderiza es:

Código Python:
Ver original
  1. def search(request):
  2.     if 'q' in request.GET and request.GET['q']:
  3.         q = request.GET['q']
  4.         books = Book.objects.filter(title__contains=q)
  5.         return render(request, 'search_results.html', {'books': books, 'query' : q})
  6.     else:
  7.         message = 'No pusiste nada en la busqueda'
  8.         return render(request, 'search_form.html', {'error' : True})

Si el usuario escribealgo en el formulario se renderiza search?results correctamente , si en cambio no pone nada deberia renderizar la misma pagina de search_form.html pero con el contexto error:True y asi lanzar el IF.

El problema es que cuando voy a 127.0.0.1/search el formulario ya aparece con el texto Por favor no poner un campo vacio el cual solo deberia aparecer si se redibuja el html

Gracias desde ya por las respuestas