Algunos links para estudiar cómo implementar patrones en Python:
Patterns in Python
Design Patterns in Python
Data Structures and Algorithms with Object-Oriented Design Patterns in Python
Gracias Leoman!
viernes, 30 de mayo de 2008
lunes, 26 de mayo de 2008
Webprendededor Concepción 2008
Se ven algunas charlas interesantes: Los chicos de Needish, Metrik y el Francotirador, entre otros.
A apoyar este tipo de iniciativas!
En Concepción el día sábado 31 de Mayo
Más encima en el mismo lugar donde estudié...
De allá somos...
import datetime vs from datetime import datetime
Para todos los que desarrollan en Python:
Si van a usar la libraría datetime
Es preferible hacer esto:
import datetime
dtnew = datetime.datetime(2008,5,20)
Que esto:
from datetime import datetime
dtnew = datetime(2008,5,20)
Pues usando el segundo caso, si hacen import de otro modulo que esté
usando datetime, el intérprete se puede marear con los nombres y
pueden haber errores como:
Module object is not callable
TypeError: descriptor 'time' requires a 'datetime.datetime' object but
received a 'int'
Por último si les da demasiada lata escribir datetime muchas veces
pueden hacer algo como esto:
from datetime import datetime as dtime
dtnew = dtime(2008,5,20)
Así no se vuelve a usar el nombre datetime como función y objeto(not
callable) a la vez.
Si van a usar la libraría datetime
Es preferible hacer esto:
import datetime
dtnew = datetime.datetime(2008,5,20)
Que esto:
from datetime import datetime
dtnew = datetime(2008,5,20)
Pues usando el segundo caso, si hacen import de otro modulo que esté
usando datetime, el intérprete se puede marear con los nombres y
pueden haber errores como:
Module object is not callable
TypeError: descriptor 'time' requires a 'datetime.datetime' object but
received a 'int'
Por último si les da demasiada lata escribir datetime muchas veces
pueden hacer algo como esto:
from datetime import datetime as dtime
dtnew = dtime(2008,5,20)
Así no se vuelve a usar el nombre datetime como función y objeto(not
callable) a la vez.
miércoles, 21 de mayo de 2008
Búsquedas por date y datetime
Haciendo un filtro por fechas me di cuenta que no era lo mismo hacer
date1 = datetime.datetime.now().date() (date1 es tipo date)
xxxx.objects.filter(date__lte=date1)
que
date2 = datetime.datetime.now() (date2 es tipo datetime)
xxxx.objects.filter(date__lte=date2)
Obvio, uno de ellos considera horas, minutos y segundos
Así que ojo si hay que decidir un intervalo de días para datos tipo datetime, hay que considerar el día completo:
'2008-05-21 23:59:59'
O sea:
date2= datetime.combine(date1, time(23,59,59))
date1 = datetime.datetime.now().date() (date1 es tipo date)
xxxx.objects.filter(date__lte=date1)
que
date2 = datetime.datetime.now() (date2 es tipo datetime)
xxxx.objects.filter(date__lte=date2)
Obvio, uno de ellos considera horas, minutos y segundos
Así que ojo si hay que decidir un intervalo de días para datos tipo datetime, hay que considerar el día completo:
'2008-05-21 23:59:59'
O sea:
date2= datetime.combine(date1, time(23,59,59))
miércoles, 7 de mayo de 2008
Cómo truncar palabras my largas en la template
{{ object.comments|truncatewords:15|make_list|slice:":80"|join:"" }}
{% if object.comments|truncatewords:15|make_list|slice:":80"|length_is:"80" %} ...{% endif %}
{% if object.comments|truncatewords:15|make_list|slice:":80"|length_is:"80" %} ...{% endif %}
Lo que hice fue pasar el string a una lista, cortarlo, y luego hacer un join para volver a convertirlo string, para dejarlo más bonito: un if que si coincide en largo con el string cortado le agrega los puntos suspensivos ...
La otra opción era armarse una función para el sistema de templates, como aquí:
http://www.djangosnippets.org/snippets/163/
Pero a mí, hacer eso me dió lata :-)
Suscribirse a:
Entradas (Atom)