Posts Tagged ‘Django’

IDE para Python y Django muy prometedor

Viernes, Febrero 12th, 2010

En mi búsqueda incesante por mejores editores o IDEs para los lenguajes con los que trabajo, hace unos días me topé con una excelente noticia. Jetbrains, los creadores de IntelliJ IDEA (editor políglota aunque principalmente orientado a Java) y de RubyMine (editor para Ruby y Rails), ya anuncieron su nueva adición a su línea de productos.

El nuevo miembro se llama PyCharm IDE y contendrá todo lo que se puede esperar de un IDE de Jetbrains. Trae autocompletado y resaltado de sintaxis para código Python, HTML, CSS, Javascript, así como también para los templates de Django. También trae opciones para control de código fuente (Subversion, GIT, etc), posibilidad de depurar nuestros scripts, integración de pruebas unitarias y por supuesto también múltiples opciones para refactorizar nuestro código.

PyCharm en acción con plantillas de Django

Jetbrains ha comentado que seguirá el desarrollo del plugin de Python para IntelliJ IDEA, por lo que podremos recurrir a la opción que nos resulte más conveniente.

El IDE no será gratuito, aunque seguramente tendrá un costo muy accesible como el de Rubymine (99 dólares) por lo que valdrá la pena adquirirlo. Por lo pronto, se pueden descargar la versión preview de forma gratuita para probarlo.

Personalmente me parece una excelente opción, ya que son pocos los editores o IDEs que proporcionan un soporte de primer nivel para Python y sobre todo Django. Así que a probarlo…

Introducción a Python Django

Jueves, Febrero 11th, 2010

En la actualidad existen muchas opciones para desarrollar páginas dinámicas. Tenemos las opciones de los lenguajes de lado servidor como por ejemplo PHP, ASP.NET o Java; también existen los manejadores de contenido como por ejemplo Joomla, Drupal, CMSMadeSimple,etc, que nos ofrecen la creación de sitios enfocados a presentar contenido dinámico; otra opción que tenemos es utilizar algún framework de los existentes que nos facilitan el desarrollo de cualquier sitio dinámico, ya sean aplicaciones web o portales.

En esta última categoría encontramos a Django, que es un framework basado en Python, que es un lenguaje dinámico orientado a objetos bastante utilizado en diversas áreas, desde la computación científica hasta el el desarrollo de sitios web.

Django nació en una organización enfocada a las noticias. Fue principalmente para satisfacer dos retos: ser la herramienta ideal para cumplir con los plazos tan apretados de entrega y satisfacer los requerimientos de los programadores web experimentados que lo crearon. Es un framework que trata de adherirse lo más posible al principio DRY (No te repites a ti mismo, Dont Repeat Yourself).

Descarga e Instalación
Para iniciar, lo primero que debemos hacer es descargarlo del sitio web. Después debemos descomprimir el archivo y el método dependerá de nuestro sistema operativo; en windows sería probablemente con un programa como winrar y con linux con el comando tar. Posteriormente, nos debemos situar en el directorio donde lo hayamos puesto el resultado y ejecutaremos el siguiente comando:

sudo python setup.py install

En caso de que estemos usando Linux, tendriamos que ejecutarlo con un usuario con suficientes privilegios, o utilizar un comando “sudo” o similar (como en el ejemplo anterior).

Iniciando el proyecto
En esta ocasión desarrollaremos un pequeño Blog que nos permita capturar artículos y mostrarlos en forma de lista y también leer el artículo completo.

Como primer paso es necesario ejecutar el comando siguiente:

django-admin startproject misitio

Este comando nos generará los siguientes archivos dentro de la carpeta “misitio”:

  • El archivo __init__.py nos sirve para indicar que la carpeta se trata de un paquete de python.
  • El archivo manage.py contiene comandos que nos ayudan para realizar diversas operaciones con el proyecto.
  • En el archivo settings.py se establecen los parámetros de configuración para el sitio web.
  • urls.py nos sirve para configurar las diferentes rutas de forma elegante sin tener que usar extensiones (como .php,, .jsp, .aspx, etc).

Probando el proyecto
Para comprobar que todo esté bien, ejecutaremos el siguiente comando en una consola de nuestro sistema operativo ubicados en el directorio del proyecto:

python manage.py runserver

Y debemos ver la siguiente salida:

Salida del comando runserver

Si todo salió bien, podremos navegar a la dirección mencionada en la salida (http://127.0.0.1:8000) y deberemos ver el siguiente resultado:

Página de resultados

Hasta aquí en este artículo. En la segunda parte crearemos nuestros objetos del modelo y veremos cómo configurar nuestra aplicación.

Saludos y hasta pronto.

Logging más sencillo para Django

Martes, Noviembre 10th, 2009

Con todas las discusiones que han habido recientemente en el grupo de Google por las propuestas de loggeo para la versión 1.2 de Django, han salido algunas opciones para manejar el logging (registro de actividades) interesantes.

En este caso es una librería llamada Jogging, que es una extensión de la funcionalidad de logging que proporciona Python. Con esta librería puedes controlar el destino, el formato y la verbosidad de los logs.

Mientras sale la versión 1.2 de Django, es bueno probar las alternativas existentes para ver cuál nos proporciona mejores resultados.

¿Porqué elegí Django en lugar de Drupal, Joomla, etc?

Lunes, Octubre 26th, 2009

En los últimos días he estado desarrollando una sitio web para un cliente muy importante (mi hermanita) que consiste en una página para mostrar sus productos (gelatinas principalmente). El sitio consiste básicamente en un catálogo dinámico de productos y unas cuatro o cinco páginas estáticas. Una solución muy buena sería utilizar un manejador de contenido como Drupal o Joomla, sin embargo, preferí hacerlo con Django…

Django no es precisamente un manejador de contenidos, más bien es un framework web desarrollado con Python que nos permite desarrollar páginas con contenido dinámico, muy similares a las logradas con los CMS (Content Management System, Sistema de Manejador de Contenido).

En mi opinión, Joomla y Drupal (y otros cientos de CMS más que existen) son muy buenos… de hecho son excelentes para crear portales o páginas personales de forma muy rápida y con gran funcionalidad desde el inicio, sobre todo para personas con pocos conocimientos técnicos de programación. Pero, para mi gusto, prefiero tener el control total de todo el sitio, y eso en mi opinión se vuelve un poco complicado cuando se utiliza alguna de las soluciones ya existentes. El hecho de utilizar plugins o módulos para agregar cierte funcionalidad agrega una capa más de complejidad. Y si en algún momento quieres cambiar la funcionalidad o el diseño existente, tienes que echarte un clavado al código PHP para tratar de entenderle (es importante mencionar que Drupal tiene buena organización del código, incluso utiliza plantillas para separar código PHP de HTML en la mayoría de los casos; Joomla no es tan sencillo de modificar para un neófito en la materia).

Más adelante seguiré comentando las ventajas que tiene para mi el utilizar un framework web como Django para desarrollar portales dinámicos. Cabe mencionar que no estoy en contra del uso de los CMS (de hecho, este sitio funciona gracias a WordPress), simplemente que si conoces los frameworks y requieres mayor control entonces a veces puedes explorar otras opciones.

Puedes encontrar más información en el sitio web de Django, Drupal y Joomla.