Browsing category Desarrollo Web

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,

Performance “Serve static content from a cookieless domain”


Si haces pruebas de rendimiento a tu web, es posible que te encuentres con el siguiente mensaje: "Serve static content from a cookieless domain". Esto quiere decir, que estás sirviendo tus ficheros estáticos junto con cookies, y eso es innecesario en la mayoria de casos. Para solucionar esto, lo mejor es crear un subdominio static1.dominio.com, y servir los ficheros estáticos desde ahí. Puedes utilizar otro servidor o el mismo, en mi caso utilizaré un servidor aparte para probar. En el

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

1 2 3 9