sábado, 29 de octubre de 2011
Mercurial: La vía fácil
Etiquetas:
Diapositiva,
SCV
domingo, 23 de octubre de 2011
Cuida tus pensamientos
Cuida tus pensamientos
porque se volverán palabras.
Cuida tus palabras
porque se transformarán en actos.
Cuida tus actos
porque se harán costumbre.
Cuida tus costumbres
porque forjarán tu carácter.
Cuida tu carácter
porque formará tu destino.
y tu destino, será tu vida.
>> Mahatma Gandhi
Etiquetas:
Citas
martes, 18 de octubre de 2011
HTML5Pattern: Herramienta para probar patrones en formularios HTML5
HTML5Pattern es una web que nos brinda una lista de algunos patrones de datos comunes a ingresar en formularios, los cuales podemos utilizar con HTML5.
Tenemos algunos patrones como los de una tarjeta de crédito, fechas, IP's, .. ; así como la opción de probar nuestros propios patrones en línea.
>> HTMLPattern
Etiquetas:
Herramientas web,
HTML5
domingo, 16 de octubre de 2011
Django: Ignorar validación de ChoiceField
Sucede que en Django, un campo ChoiceField requiere que se le entregue una lista de las opciones a mostrar, las cuales se otorgan por medio del atributo choices.
Entonces, cuando nosotros enviamos nuestra opción en el formulario, Django comprueba que sea una opción válida, pero existen situaciones en las que esta auto-validación no es lo que deseamos, por ejemplo, en caso de que usemos un 'Selector dinámico' que obtiene sus campos a través de Ajax.
En esta situación, lo que podemos hacer es crear un nuevo campo que herede de ChoiceField, pero que incluya una validación personalizada, sobre-escribiendo a la que viene por defecto, lo que nos quedaría de la siguiente manera:
>> Visto en: ikraftsoft
from django.forms import ChoiceField list_of_choices = ( (1, 'Choice 1'), (2, 'Choice 2'), (3, 'Choice 3'), # ... (n, 'Choice n'), ) class MyForm(forms.Form): my_choice_field = ChoiceField(choices = list_of_choices)
Entonces, cuando nosotros enviamos nuestra opción en el formulario, Django comprueba que sea una opción válida, pero existen situaciones en las que esta auto-validación no es lo que deseamos, por ejemplo, en caso de que usemos un 'Selector dinámico' que obtiene sus campos a través de Ajax.
En esta situación, lo que podemos hacer es crear un nuevo campo que herede de ChoiceField, pero que incluya una validación personalizada, sobre-escribiendo a la que viene por defecto, lo que nos quedaría de la siguiente manera:
from django.forms import ChoiceField class LazyChoiceField(ChoiceField): def __init__(self, choices=(), required=True, widget=None, label=None, initial=None, help_text=None, *args, **kwargs): super(LazyChoiceField, self).__init__(required=required, widget=widget, label=label, initial=initial, help_text=help_text, *args, **kwargs) def valid_value(self, value): # aqui va nuestra nueva validacion # en caso de ser correcta, retorna True return True opciones = ( (1, 'Choice 1'), (2, 'Choice 2'), (3, 'Choice 3'), # ... (n, 'Choice n'), ) class MyForm(forms.Form): my_choice_field = LazyChoiceField(choices = opciones)
>> Visto en: ikraftsoft
jueves, 13 de octubre de 2011
Django: Usar un FormWizard en una Vista
En caso de que se deseara incluir un formulario creado con FormWizard en una vista (para agregarle un @login_required por ejemplo), podríamos crear una vista como la siguiente:
@login_required def view_form_wizard(request): # Ajustamos un diccionario con datos iniciales # En este caso, estamos pre-llenando informacion # solo para el 1er formulario.
initial = {0: {'first_name': request.user.first_name, 'last_name': request.user.last_name, 'email': request.user.email, }, } # Se crea el FormWizard form = EditFormWizard([FirstForm, SecondForm,], initial=initial) # Llamamos al FormWizard, enviándole el context y el request return form(context=RequestContext(request), request=request)
Y en nuestro archivo urls.py, llamos a esta vista, como siempre.
Etiquetas:
Django,
Programación
martes, 11 de octubre de 2011
Koan: En manos del destino
Un gran guerrero japones llamado Nobunaga decidio atacar al enemigo pese a tener solo una decima parte de los hombres de que disponia este. El sabia que la victoria seria suya, pero sus soldados dudaban. De camino, hicieron una parada en una hermita Shinto, y dijo a sus hombres: "Despues de visitar el altar, lanzare una moneda. Si sale cara, ganaremos. Si sale cruz, perderemos. El destino nos tiene en su mano."
Nobunaga entro al altar y ofrecio una silenciosa plegaria. Despues salio y lanzo una moneda al aire delante de sus hombres. Salio cara. Sus hombres tenian tantas ganas de luchar que ganaron la batalla facilmente. "Nadie puede cambiar el destino.", le dijo su ayudante despues de la batalla. "Desde luego que no.", dijo Nobunaga, mostrandole una moneda trucada, que tenia cara a ambos lados.
>> Visto en: cincinato.org
Etiquetas:
Koan
Libro: Fundamentos de jQuery
Fundamentos de Jquery es un libro en español, bajo licencia Creative Commons que nos introduce a JavaScript, Jquery y Ajax entre otros temas.
El libro se encuentra en un repositorio de GitHub, y su versión en PDF la podemos obtener de la carpeta /libro/pdf del reporitorio.
>> librojquery.com
domingo, 9 de octubre de 2011
HTML5 Test: !Comprueba tu navegador!
Sitio web que nos dice detalla cada característica de HTML5 ha sido o no implementada en nuestro navegador, además de ello incluye una comparativa con los otros navegadores.
Como dato adicional, Chrome es el navegador que alcanza un puntaje más alto.
>> HTML5Test
Etiquetas:
Herramientas web,
HTML5
Instalar TortoiseHG en Ubuntu
Agregamos los repositorios e instalamos:
sudo add-apt-repository ppa:mercurial-ppa/releases>> Visto en: blog.ragingfx.com
sudo add-apt-repository ppa:tortoisehg-ppa/releases
sudo apt-get update
sudo apt-get install tortoisehg tortoisehg-nautilus
Etiquetas:
Programación,
SCV,
Ubuntu
sábado, 8 de octubre de 2011
Cita
>> Visto en wikicitas"Debido a que no sabemos cuándo moriremos, pensamos en la vida como un pozo inagotable. Sin embargo, todo pasa sólo un cierto número de veces y, en realidad, muy pocas. ¿Cuántas veces más recordarás una tarde de la niñez, una tarde que se volvió una parte tan profunda de tu ser, que no concibes la vida sin ella? Tal vez cuatro o cinco veces más. Tal vez ni siquiera eso. ¿Cuántas veces más verás salir la luna llena? Tal vez veinte. Sin embargo, todo parece ilimitado". Paul Bowles
Etiquetas:
Citas
Usuario y contraseña por defecto en Plone
Después de buscar un poco:
Para Windows (desconozco si es de la misma manera para linux): el usuario por defecto es admin, la contraseña por defecto es admin.
Etiquetas:
CMS,
Nota Mental,
Plone
sábado, 1 de octubre de 2011
Herramientas para escoger colores que 'combinen'
Etiquetas:
Diseño Gráfico,
Herramientas web
Pencil 1.3
Evolus Pencil, aplicación OpenSource que permite realizar maquetas GUI se actualizó para permitir su uso desde Firefox 4 a Firefox 7.
>> Evolus Pencil
Etiquetas:
Maquetado de Interfaces Gráficas,
Opensource,
Software Libre
Suscribirse a:
Entradas (Atom)









