Browsing category Python / Django

Utilizar Selenium con Python/Django en Ubuntu 16.04


Para instalar Selenium necesitamos primero un navegador, que en este caso será Firefox. Luego instalaremos PyVirtualDisplay y xvfb para simular una pantalla en el servidor, y finalmente descargaremos el driver de mozilla. apt-get update apt-get install firefox pip install selenium pip install PyVirtualDisplay sudo apt-get install xvfb wget https://github.com/mozilla/geckodriver/releases/download/v0.14.0/geckodriver-v0.14.0-linux64.tar.gz -O /tmp/geckodriver.tar.gz && tar -C /opt

Uso avanzado del ORM de Django


En un post anterior ya explique los peligros de utilizar mal el ORM de Django. Puedes acabar destruyendo el performance de tu aplicación haciendo cientos de consultas. Me gustaría extender un poco más el tema y hacer algunos ejemplo de usos más avanzados. En este ejemplo tengo dos tablas. Tabla <Product> y tabla <ProductMeta>. class Product(models.Model): image = models.ImageField(upload_to='product', blank=True) wholesale_price = models.DecimalField(max_digits=9,

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 al base de datos, y lo único que hace falta para optimizarlo son un par de líneas de código. Vamos a empezar con el ejemplo que más 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

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]