fin vid22

jp.av.dev 2020-11-14 21:12:00 -03:00
parent 79b629ae67
commit c3485e1c9f

@ -35,7 +35,7 @@ def busqueda_productos(request):
return render(request, "busqueda_prods.html") return render(request, "busqueda_prods.html")
``` ```
### Restistrar url(path) ### Restistrar url *(path)*
*urls.py* *urls.py*
``` ```
@ -74,3 +74,45 @@ urlpatterns = [
*GET http://192.168.0.4:8000/buscar/?prod=alicate* *GET http://192.168.0.4:8000/buscar/?prod=alicate*
### Busqueda en BBDD
*views.py*
```
...
from gestionPedidos.models import Articulos
...
def buscar(request):
# Validación campo vacio
if request.GET["prod"]:
#msj = "Estas búscando por: %r" %request.GET["prod"]
prod_buscar = request.GET["prod"]
articulos = Articulos.objects.filter(nombre__icontains=prod_buscar)
return render(request, "resultado_busqueda.html", {"articulos":articulos, "query":prod_buscar})
else:
msj = "Debes introducir un termino de búsqueda"
return HttpResponse(msj)
```
**__icontains** *similar a like SQL, busca en el campo indicado,
articulos que CONTENGAN la palabra a buscar.*
```
*resultado_busqueda.html*
```
<body>
<p>Estás buscando <strong>{{query}}</strong></p>
{% if articulos %}
<p>Encontrados : {{articulos|length}} artículos</p>
<ul>
{% for articulo in articulos %}
<li>{{articulo.nombre}} &nbsp; {{articulo.seccion}} &nbsp;${{articulo.precio}}</li>
{% endfor %}
</ul>
{% else %}
<p>Artículo no encontrado</p>
{% endif %}
</body>
```