Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Valor desde select box

Estas en el tema de Valor desde select box en el foro de Python en Foros del Web. Hola chicos, resulta que tengo que elegir de un template el valor para hacer una comparación en mi BD. Explico: En el template existe un ...
  #1 (permalink)  
Antiguo 22/04/2015, 12:03
Avatar de santiagopm84  
Fecha de Ingreso: marzo-2015
Mensajes: 23
Antigüedad: 9 años, 1 mes
Puntos: 0
Valor desde select box

Hola chicos, resulta que tengo que elegir de un template el valor para hacer una comparación en mi BD. Explico:

En el template existe un selectbox

Código HTML:
Ver original
  1. <select  name="resultado" id="id_resultado">
  2.                                         <option value="65">65</option>
  3.                                         <option value="70">70</option>
  4.                                         <option value="75">75</option>
  5.                                         <option value="80">80</option>
  6.                                         <option value="85">85</option>
  7.                                         <option value="90">90</option>
  8.                                     </select>
  9.                                     Resultado Examen

y lo que quiero es que al seleccionar alguna opcion, ese valor lo lleve a mi vista donde hago la consulta, y que en mi tabla aparezcan los participantes con ese resultado en su examen.

la consulta la hago estatica en mi vista:

Código Python:
Ver original
  1. jovenes = Jovenes.objects.filter(resultado__gte=65)

pero quiero filtrarla por el valor elegido desde el selectbox.

Espero me haya explicado.

Como siempre, Agradezco su AYUDA!!!!!!!
  #2 (permalink)  
Antiguo 22/04/2015, 13:52
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Valor desde select box

Pues lo obtienes del request.GET. ¿Cuál es el problema exactamente?

Y la próxima ves indica el framework que estás usando.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 22/04/2015, 16:13
Avatar de santiagopm84  
Fecha de Ingreso: marzo-2015
Mensajes: 23
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Valor desde select box

Uso Django 1.7

Si mira, en un template tengo este este selct box:

Código HTML:
Ver original
  1. <select name="resultado" id="resultado" style="width:70px" >
  2.                  <option value="65">65</option>
  3.                   <option value="70">70</option
  4.                  <option value="75">75</option>
  5.                   <option value="80">80</option>
  6.                   <option value="85">85</option>
  7.                   <option value="90">90</option>
  8. </select>Resultado Examen

y en la vista tengo esto:

Código Python:
Ver original
  1. r = request.GET.get('resultado')
  2.     print ('Resultado')


si reviso en la consola, no está imprimiendo valor alguno.

Ese valor del select, por ejemlplo, elijo 80; deseo que ese 80 lo pase a treves de GET a mi vista y guardarlo en una variable que a su vez la uso para flltrar por resultado de examen.

Gracias por la ayuda Carlangueitor
  #4 (permalink)  
Antiguo 23/04/2015, 11:37
Avatar de santiagopm84  
Fecha de Ingreso: marzo-2015
Mensajes: 23
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Valor desde select box

Ya logré hacer algo, no sé si sea la forma más correcta de hacerlo, pero funciona.

Este es mi select en el html
Código HTML:
Ver original
  1. <select name="resultado" id="resultado" style="width:70px" >
  2. <option value="65">60</option>
  3. <option value="65">65</option>
  4. <option value="70">70</option>
  5. <option value="75">75</option>
  6. <option value="80">80</option>
  7. <option value="85">85</option>
  8. <option value="90">90</option>
  9. </select> Resultado Examen

Usando JQuery paso ese valor por URL

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.         $('#resultado').change(function(){
  3.             window.location.href = '?resultado='+this.value
  4.         });
  5.     });

Y en la vista lo recibo de esta manera y lo filtro con la variable que recoge el valor desde el selectbox

Código Python:
Ver original
  1. r = request.GET.get('resultado', 69)
  2.     print ('Santiago', r)
  3.  
  4. jovenes = Jovenes.objects.filter(resultado__gte=r)

Y listo, funciona.
  #5 (permalink)  
Antiguo 25/04/2015, 07:55
Avatar de alrvivas  
Fecha de Ingreso: febrero-2012
Ubicación: Sahuayo,Mich., México
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Valor desde select box

Hola santiagopm84 como dice Carlangueitor con request.GET. pudes obtener el valor, como tu lo hiciste funciona, pero si de algo te sirve puedo ejemplificar el uso de request.GET. importando from django.db.models import Q que te podrá servir en un futuro para consultas genéricas a tu base de datos.

views.py
Código PHP:
from django.db.models import Q

query 
request.GET.get('resultado''')
    if 
query:
        
qset = (
            
Q(resultado__icontains=query
        )
        
results Jovenes.objects.filter(qset)
        
template_name "nombredeltemplatederesultados.html"
        
return render_to_response(template_name, {"results"results,"query"query},context_instance=RequestContext(request)) 
    else:
        
results = [] 
template

Código HTML:
<select name="resultado" id="resultado" style="width:70px" >
                 <option value="65">65</option>
                  <option value="70">70</option>
                  <option value="75">75</option>
                  <option value="80">80</option>
                  <option value="85">85</option>
                  <option value="90">90</option>
</select> 
espero aya quedado claro y te pueda servir para apps futuras

se me pasaba algo, la manera para mostrarlo en el template
Código HTML:
 {% if query %}
        <h2>Resultados para jóvenes con calificación de: "{{ query|escape }}":</h2>     
        {% if results %}  
                  {% for resultado in results %} 
                         {{ resultado.nombre}} -{{ resultado.calificacion}} 
                  {% endfor %} 
         {% else %}             
                    No hay jóvenes con esa calificaición
         {% endif %}     
  {% endif %}

Última edición por alrvivas; 25/04/2015 a las 08:05 Razón: me falto un complemento
  #6 (permalink)  
Antiguo 30/04/2015, 09:53
Avatar de santiagopm84  
Fecha de Ingreso: marzo-2015
Mensajes: 23
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Valor desde select box

alrvivas oye muchas gracias por tu aporte, no había podido responderte, despues de sacar el módulo en el trabajaba que es este precisament, me dieron unos dias de descanso; pero te agradezco mucho tu interes por este tema.

ciertamente ya quedó solucionado, pero prometo revisar y probar lo que comentas.

una vez mas agradezco tu interes.

Saludos

Etiquetas: box, ip, select, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.