Como habrás notado, llevo unos días sin actualizar GrabThisCode y el motivo no es otro que el título de este post.

Quiero dejar claro, que antes de este curso, mis conocimientos sobre Python y Django eran nulos pero había oído hablar de ellos, sobre todo su filosofía “Don’t repeat yourself!” (¡no te repitas!), su limpieza de código (no existen llaves ni puntos y coma, solo simples tabulaciones!) y su velocidad de programación (lo más probable es que ya exista un módulo que haga eso que quieres hacer!)
Django es a Python lo que Jquery es a Javascript o CodeIngniter a PHP. Es decir, Django es un framework que trabaja sobre Python. Django sigue el patrón de diseño MVT:
- Modelo -> Modelo de datos.
- Vista -> Vistas de los datos.
- Template -> Plantillas de páginas. (Usualmente en html)
-Imagino que te preguntaras dónde está el controlador. El controlador es manejado por Django con total transparencia para nosotros. Al estar orientado a objetos, él solo gestiona las bases de datos y las operaciones con ellas para que nosotros solo tengamos que usar el objeto y olvidarnos de lo demás.
Si estás pensando en olvidarte del sql haces bien, pues puedes hacer todo usando las funciones del objeto, el sql déjaselo al framework.
Seguro que tendrás algunas preguntas tales como:
- ¿Cómo es la curva de aprendizaje?
- ¿Serán seguras las aplicaciones creadas con Django?
- ¿Es muy costoso montarlo en un servidor web?
- ¿Será muy difícil hacer cosas distintas a las ya hechas en los módulos de Django?
- En mi trabajo todos usamos PHP, ¿nos servirá Django para acelerar el proceso de creación de aplicaciones? ¿O por el contrario solo lo entorpercerá y lo hará mas costoso?
Lamentablemente yo no tengo una respuesta a tu medida sobre esto pero espero que al final del curso puedas responderte tu mismo a estas cuestiones.
Ya me he enrollado más de lo que tenía pensado, así que vamos a empezar con esta primera parte:
Instalación y Configuración de Python, Django, Mysql for Python y Aptana Studio 3.0.4 (IDE web para Django) en Windows 7.
Instalando Python 2.7.2.
1. Ve a
http://www.python.org/download/ y descarga el instalador de windows. Si usas windows 64 bits te recomiendo encarecidamente que descargues la versión de 64bits.
Habrás visto 2 versiones, la 2.7.3 y la 3.2.2. El motivo de dos versiones es porque la 3.2.2
NO funciona con Django, por eso
descárgate la 2.7.2.
2. Instálalo con las opciones por defecto. Asegúrate que se instale en C:/Python2.7 o alguna carpeta raíz de tu disco duro.
3. Una vez instalado, necesitas agregar un par de claves a la variable PATH de windows para que te asocie correctamente los ficheros .py con python.
- Botón derecho sobre Equipo -> Propiedades -> Configuración Avanzada del Sistema -> Variables de entorno.
- Busca entre las variables del sistema la variable PATH y editala (Ojo! no la borres, simplemente edítala) poniendo al final esta línea ;C:\Python27\;C:\Python27\Scripts\; (sí, con los puntos y coma también, recuerda cambiar Python27 por la carpeta dónde tu lo instalaste).
Instalando Django 1.3.1
2. Abre una consola del sistema: Inicio -> ejecutar -> cmd y sitúate en el directorio donde has descomprimido django, una vez allí escribe: setup.py install
Instalando Aptana Studio 3.0.4
1. Asegúrate que tienes java 1.6 JRE instalado. Teclea en una consola del sistema: java -version
1.1. Si no lo tienes instalado ve a
www.java.com e instálalo.
3. Una vez la instales ve a: Windows->Preferences->Pydev->Interpreter – Python, pulsa en autoconfig y acepta. Si has agregado correctamente python al path del sistema, Aptana lo encontrará y lo configurará el solo.
Instalando Mysql for Python
Como dije antes, django se encargará de la base de datos, pero en caso de no ser sqlite (trae su propio controlador por defecto) tendrás que instalar el controlador para esa base de datos: mysql, oracle, postgree…
2. Instálalo con las opciones por defecto.
Probando la instalación
Ya has llegado al final, ahora solo queda probar si todo funciona correctamente creando un proyecto en blanco y lanzando el servidor de python!
1. Abre una consola del sistema y teclea:
django-admin.py startproject miproyecto
manage.py runserver
2. Comprobará la validez del código y lanzará el servidor web. Ahora solo tienes que ir a
http://localhost:8000 y comprobar por ti mismo si pone “It worked!”
En la segunda parte podrás ver las estructura de un proyecto de django, qué es y para que sirve cada archivo. Y empezarás a hacer tu primer proyecto en esta interesante tecnología.
Cualquier duda sobre el comienzo del curso no dudes en preguntarla!
Acerca de davisdmg
David Muñoz Ha escrito 21 post en GrabThisCode.
Ingeniero Técnico en Informática de Sistemas. Actualmente trabajando como Penetration Tester.
Interesante… tendre que seguir tus tutos para aprender!
Esta tarde lo intento a ver que tal, suena bien, aunque no nunca he sido muy fan de la programacion funcional… Pero bueno, es tan popular que creo que se merece una oportunidad.
La verdad es que yo siempre fui de usar el PHP a “pelo”, sin framework ni nada, pero últimamente se escuchaba mucho hablar de Django y Ruby on Rails que no tienen una curva de aprendizaje tan alta como los frameworks PHP, así que me decidí por Django.
A mi me han ganado con la seguridad implícita en los formurarios y los post/get y el no tener que tocar una base de datos para nada…
buenas! me gustaria saber cuando tenias pensado subir la segunda parte del curso, ya que me parecio muy interesante.
gracias!
Hola rak, la segunda parte está casi hecha, trata de la estructura del proyecto y para que sirve cada fichero dentro de esa estructura. Intentaré que para la semana que viene este subida
Gracias sigue asi espero que termines todo el curso. una pregunta recomiendas mucho usar aptana como IDE o puedo utilizar un editor de texto como sublime text?
En el curso en el que estuve, usaban sobre todo sublime text. Yo soy de usar mucho los IDEs como netbeans o visual studio. Aptana viene bien porque te autocompleta las funciones de django y eso ayuda bastante, pero si tu estás cómodo con sublime, sigue con sublime.
Esperamos la 2ª parte !!
Y la segunda parte??? :’(