diff --git a/4_Formularios.md b/4_Formularios.md index 71b7b16..94909fe 100644 --- a/4_Formularios.md +++ b/4_Formularios.md @@ -35,7 +35,7 @@ def busqueda_productos(request): return render(request, "busqueda_prods.html") ``` -### Restistrar url(path) +### Restistrar url *(path)* *urls.py* ``` @@ -73,4 +73,46 @@ urlpatterns = [ ***Metodo*** *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* +``` + +

Estás buscando {{query}}

+ {% if articulos %} +

Encontrados : {{articulos|length}} artículos

+ + {% else %} +

Artículo no encontrado

+ {% endif %} + +```