Páginas

martes, 28 de junio de 2011

Web2py ejemplo sencillo donde vincularemos python con javascript

En este pequeño ejemplo vamos a mostrar como pasar variables python hacia el código javascript, fijaos bien que las variables python dentro del javascript tienen '   ' ,comillas simples, ejemplo '{{variable}}'.

en la controladora.............................

def index():  

    var1 = 'hola'  # la pasaremos como parametro de la función mostrar()
    var2 = 'hola2'  # la pasaremos directamente dentro de dicha función  
 
    return dict(var1=var1, var2=var2)

en la vista...............................................................

index.html

{{extend 'layout.html'}}

{{=var1}}<br/>
{{=var2}}<br/>
{{lista = ['hola','hola2']}}

<input type="button" value='prueba' onclick="mostrar('{{=var1}}')"/>

<script type="text/javascript">

function mostrar(variable)

    var Lista = []
    alert(variable);
    var mivarjs='{{=var2}}';
    alert(mivarjs);
    {{for i in lista:}}
        Lista.push('{{=i}}');
     {{pass}} 
     alert(Lista);
  
}
</script>



5 comentarios:

  1. Hola.

    Tengo una consulta.Quiero crear un sitio que permita registrarse y los nuevos registros se asignen a un perfil de usuario or ejemplo para poder identificarlos.

    el problema es que web2py asigna cada usuario a un grupo unico que se asocia a cada usuario asi que quedan aislados.

    la consulta es como lo hago para asignarles un grupo por defecto cuando se registre cada usuario en el sitio??

    Espero me puedan orientar por que estoy muy perdido en esto.

    ya logre que no asigne el grupo por defecto con :

    auth.settings.create_user_groups = False

    SL2

    ResponderEliminar
  2. y como seria si fuera al revés, de html a python

    ResponderEliminar
    Respuestas
    1. Quiero saber como asignar de Javascript a Python algo asi:
      var h1='hola';
      {{h2=}}=h1;
      pero me tira error :/

      Eliminar
  3. Quiero saber como asignar de Javascript a Python algo asi:
    var h1='hola';
    {{h2=}}=h1;
    pero me tira error :/

    ResponderEliminar