Nueva aplicación en blanco en web2py

Si hay algo que caracteriza a web2py es que todo tenga un comportamiento por defecto; esto nos permite desarrollar aplicaciones funcionales rápidamente, en momentos en los que el reloj corre, y preocuparnos más tarde por los detalles. De ahí que toda nueva aplicación de web2py creada desde el gestor de aplicaciones contenga ya varios controladores, modelos, vistas, recursos estáticos ─CSS, JavaScript, etc.─ y otros archivos. Si bien en muchos casos esto es algo realmente genial por lo que acabamos de mencionar, en otros tantos se convierte en un estorbo: queremos darle a nuestra aplicación un estilo propio, un esquema distinto al planteado por la aplicación por defecto de web2py, y es ahí cuando empezamos a ir en contra de lo que el framework nos provee para acelerarnos el proceso de desarrollo.

Para evitar este engorroso momento, que siempre nos lleva un tiempo hasta que terminamos de desarmar todo tal como lo había estipulado web2py y reorganizarlo según nuestra propia estructura, decidí armar el esqueleto de una aplicación en blanco que pueda ser usada como base para todo nuevo proyecto que no quiera seguir los lineamientos de la aplicación welcome. Puedes descargarla desde este enlace, crear una carpeta con el nombre de tu nueva aplicación dentro de web2py/applications y luego extraer allí el contenido del archivo.

Esta aplicación en blanco, a diferencia de la que crea por defecto el administrador de aplicaciones de web2py, contiene un controlador vacío default.py, un modelo vacío db.py y no contiene vista alguna dentro de views/default/, aunque incluye el controlador appadmin.py por cuanto siempre resulta ser un aliado durante el desarrollo (si no se necesita, simplemente tenemos que borrar los archivos controllers/appadmin.py y views/appadmin.html). Se quitó models/menu.py, cuya eliminación siempre causaba algún que otro error en las vistas que extendieran de views/layout.html.

Se retiraron todas las vistas genéricas y el archivo views/layout.html. Se mantuvo views/web2py_ajax.html, para que eventualmente pueda ser incluido en alguna vista que necesite hacer uso de funciones de JavaScript tales como ajax(). Se eliminaron varios recursos estáticos innecesarios, así como private/appconfig.ini.

Con este pequeño aporte espero poder ahorrarle a más de un lector ─incluyéndome─ el proceso reiterativo de tener que lidiar con estas cuestiones siempre que creamos una nueva aplicación en web2py.

Curso online 👨‍💻

¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

Consultoría 💡

Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.

Deja una respuesta