15 febrero 2020 antes de Peter
post main image
Esperaba decirles hoy que ahora pueden comentar las entradas del blog de este sitio web. Eso habría significado que yo completara la primera aplicación del sistema de comentarios. Desafortunadamente me tropecé con algunos problemas, sí por supuesto, soy un programador, y uno de ellos involucraba el TextAreaField. Sólo quería una versión extendida simple del WTForm TextAreaField, sólo añadir un campo ...
Leer más
8 febrero 2020 antes de Peter
post main image
Ahora que tengo entradas en el blog, páginas y un formulario de contacto, decidí implementar los comentarios para las entradas y páginas del blog. No sólo comentarios planos, sino comentarios enhebrados, también llamados comentarios anidados. Hace unos meses leí sobre esto y me gustó mucho el artículo de Miguel Grinberg: Implementando los comentarios de los usuarios con SQLAlchemy. Como a menudo ...
Leer más
30 enero 2020 antes de Peter
post main image
Cuando empiezas con Flask lees un poco sobre el Application Context, TL;DR. No sé nada de ti, pero ciertamente no lo he entendido del todo. Qué es app, qué es current_app, cuál es la diferencia, simplemente empiezas a programar tu aplicación. Todo el tiempo en el fondo hay este extraño zumbido: ¿qué es exactamente el Application Context ... Entonces, en cierto momento, al usar una clase que instanció ...
Leer más
24 enero 2020 antes de Peter
post main image
Cuando te registras en este sitio web se te asigna una imagen de avatar. Por supuesto que puedes cambiar el avatar en 'tu cuenta' y esto se hace usando un image picker. Muchos ejemplos de image pickers se pueden encontrar en Internet. Pero este es un sitio Flask incluyendo WTForms y quiero que el image picker sea generado por la maravillosa macro Jinja que estoy usando, ver también el enlace ...
Leer más
13 enero 2020 antes de Peter
post main image
Tiempo de alegría o crisis: ejecutando la aplicación OWASP Zed Attack Proxy (ZAP) para comprobar las vulnerabilidades de nuestra aplicación web. Los desarrolladores a menudo saben que hay puntos débiles en su código, pero siempre hay una fecha de entrega. Entonces, ¿por qué no utilizar una herramienta que enumere las más conocidas e importantes? Es la primera vez que uso ZAP, así que si eres un ...
Leer más
6 enero 2020 antes de Peter
post main image
Este sitio web Flask es multilingüe. La implementación está descrita en posts anteriores. Hasta ahora todas mis traducciones estaban en el código Python y en las plantillas HTML . En algunos lugares necesité algunas traducciones en Javascript y lo hice tirando este código Javascript en línea en la plantilla HTML . Por ejemplo, para los formularios que necesitaba: e.target.setCustomValidity('Please ...
Leer más
27 diciembre 2019 antes de Peter
post main image
Ha creado una aplicación web Flask , que funciona bien y utiliza https. ¿Pero es lo suficientemente seguro? ¿Hizo todo lo posible para proteger a sus visitantes, hizo todo lo posible para evitar los ataques maliciosos? Una buena manera de proceder en esto es a pentest su sitio. Las herramientas Penetration testing , o las herramientas pen testing , pueden identificar las debilidades de seguridad. ...
Leer más
9 diciembre 2019 antes de Peter
post main image
Otra vez otro inesperado problema de Docker . En un post anterior describí por qué y cómo se debe forzar a Docker a usar un subnet, para prevenir cambios inesperados repentinos en la red con consecuencias como que el correo ya no funcione. Este post trata sobre Docker no respetando los ajustes de firewall , al menos cuando se ejecuta Debian / Ubuntu y ufw (Uncomplicated Firewall). Docker ...
Leer más
27 noviembre 2019 antes de Peter
post main image
Tengo un servidor ISPConfig con aplicaciones Docker . Utilizan el agente de transferencia de correo del host Postfix (MTA) para entregar el correo al mundo exterior. Antes de utilizar la función de envío de correo tengo que comprobar si se puede acceder a Postfix . Esto funciona bien. Pero de repente no se envió el correo. El archivo de registro contenía mensajes de error como: 2019-11-26 17:31:56,758 ...
Leer más
24 noviembre 2019 antes de Peter
post main image
Para este sitio web estoy utilizando Flask y SQLAlchemy sin la extensión Flask-SQLAlchemy . Necesito paginación para varias páginas. Por ejemplo, la página de inicio contiene la lista de blogs y debe mostrar un máximo de 12 elementos por página. No es tan difícil de aplicar. La función de vista de página de inicio requiere un número page_number que por defecto es 1 si no se especifica: @pages_blueprint.route('/ ...
Leer más