Existe algo como isset() en Django ?

354 views
Skip to first unread message

Pedro Muñoz

unread,
Jul 21, 2007, 1:35:56 AM7/21/07
to djan...@googlegroups.com
Hola

Estoy programando un formulario y una de las entradas que recibo son varios checkbox. HTML no los procesa si no estan marcados, asi que entenderan cual es el problema.

Mi pregunta es como hacer para poder procesar los que esten marcados y los que no, se me ocurrio buscar algo similar a la función isset() de PHP pero no la he encontrado.

Alguna recomendación al respecto ?

Gracias de antemano.

--
Pedro Muñoz a.k.a Droper
APESOL: http://www.apesol.org
Blog: http://droper.utpinux.org

Xin

unread,
Jul 21, 2007, 2:05:58 AM7/21/07
to djan...@googlegroups.com
Para saber si un objeto tiene un atributo o función
hasattr(objeto,'atributo') # con comillas
hasattr(objeto,'funcion') # con comillas

Si és una función debes hacer:
callable(objecto.funcion)

Xin

El 21/07/2007, a les 07:35, en/na Pedro Muñoz va escriure:

Xin

unread,
Jul 21, 2007, 2:16:56 AM7/21/07
to djan...@googlegroups.com
Para el mòdulo __main__ debes hacer esto:

> import sys
> __main__ = sys.modules['__main__']
> hasattr(__main__,'atributo')


Xin

El 21/07/2007, a les 07:35, en/na Pedro Muñoz va escriure:

> Hola

Pedro Muñoz

unread,
Jul 21, 2007, 2:41:22 AM7/21/07
to djan...@googlegroups.com
Hola

Lo que quisiera hacer es algo asi como:

if isset(request.POST['cancel_'+factura.numero])):
  ....

Como haria en este caso con hassattr ?, he estado probando y no me funciona.

Xin

unread,
Jul 21, 2007, 3:23:36 AM7/21/07
to djan...@googlegroups.com
if 'cancel_'+str(factura.numero) in request.POST:

El 21/07/2007, a les 08:41, en/na Pedro Muñoz va escriure:

Pedro Muñoz

unread,
Jul 21, 2007, 3:31:56 AM7/21/07
to djan...@googlegroups.com
Hola

Ya resolví lo que me tuvo cabezon dos dias, GRACIAS!!

       for factura in fac:

         if ('cancelada_'+str(factura.numero)) in request.POST:
              cancelada.append(request.POST ['cancelada_'+factura.numero])
         fecha.append(request.POST['fecha_'+factura.numero])       

Como de costumbre, invalorable la ayuda de la lista.

On 7/21/07, Xin <xin...@gmail.com> wrote:
if 'cancel_'+str(factura.numero) in request.POST:

El 21/07/2007, a les 08:41, en/na Pedro Muñoz va escriure:

> Hola
>
> Lo que quisiera hacer es algo asi como:
>
> if isset( request.POST['cancel_'+factura.numero])):

Christian M Hoeppner

unread,
Jul 28, 2007, 3:48:24 PM7/28/07
to djan...@googlegroups.com
Xin escribió:
El objeto request tiene un método para eso. request.has_key('keyname')
devuelve true si existe en POST ó en GET. Sólo por si interesa.

~Chris

Reply all
Reply to author
Forward
0 new messages