Browsing category Python / Django

Utilizar el ORM de Django de la forma correcta


En este post explicaré como utilizar Django de la forma correcta. Porque si no nos damos cuenta, y lo utilizamos como queramos acabaremos haciendo webapps con cientos de consultas por petición, y lo único que hace falta para optimizarlo son un par de líneas de código. Vamos a empezar con el ejemplo que mas veo que falla la gente: centros = Centro.objects.filter(user=request.user) for c in centros: print c Este pedazo de código genera 1 consulta SQL. Ahora vamos ha hacer un print

Añadir días hábiles a una fecha en Python


Esta es una función para añadir días hábiles (lunes-viernes) a una fecha en Python. Por ejemplo, en un e-commerce, si necesitas calcular cuando va a ser la fecha de entrega de un producto, puedes usar esta función para sumar días hábiles a la fecha del pedido. def add_business_days(origin_date, add_days): ''' Función que añade días hábiles a una fecha. ''' while add_days > 0: origin_date += datetime.timedelta(days=1) weekday = origin_date.weekday()

Web scraping usando PyQuery con Python


Si queremos recoger datos de otra pagina web para mostrarlos en algún sitio o hacer algunos informes o estadísticas se puede utilizar el web scrapping. Pero siempre con permiso del propietario de la web, sino puede ser o ilegal o poco ético. Para hacer web scrapping, una de las mejores herramientas en Python es PyQuery.   from pyquery import * print "nnn--------| DATOS |--------n" html = PyQuery(url='URL') trs = html('.clase .clase-button') i = 0 data = {} for tr in

Conectarse a una base de datos con Python


A continuación pongo un ejemplo muy básico de como conectarse a una base de datos MySQL utilizando Python. #!/usr/bin/python import MySQLdb db = MySQLdb.connect(host="localhost", user="USUARIO", passwd="CONTRASEÑA", db="BASE_DATOS") cur = db.cursor() cur.execute("SELECT * FROM verbos") # Muestra por pantalla la primera celda de todas las columnas for row in cur.fetchall() : print row[1]

Convertir un string a diccionario en Python


Supongamos que tenemos un string parecido a esto: string = "{'opcion1':'Opción 1', 'opcion2': 'Opción 2'}" Este string tiene la forma de diccionario, pero no se puede operar con el porque en realidad es un string, para convertir este string a un diccionario se hace utilizando una librería de Python llamada "ast". Primero la importamos arriba del fichero: import ast Ahora una vez importada hacemos lo siguiente: diccionario = ast.literal_eval(string) Y con esto nuestro string se ha

Traducir un sitio web en Django


Django esta preparado para hacer un sitio web o plataforma multi-lenguage, para habilitarlo solo tenemos que hacer lo siguiente. 1) Crear una carpeta llamada "locale" en el root de nuestra aplicación. 2) Definir el LANGUAGE_CODE = 'es-ES' 3) Añadir el "LOCALE_PATHS" al fichero settings.py en el que se tiene que poner la ruta absoluta hacia la carpeta locale dentro de tu app (la creada en el paso 1) LOCALE_PATHS = ( '/ruta/absoluta/hacia/tu/app/locale/' ) 4) Asegurarse que el