Tutorial: "Hola Mundo" con Django, en Python

klk3 Seguir

Iota
Verificación en dos pasos activada
Desde
29 Ene 2011
Mensajes
2.230
Hola betas, en este tutorial les enseñaré los pasos más básicos para poder empezar a usar el framework Django escrito en Python.

python-django.png

Veremos los archivos principales y los pasos que hay que seguir para hacer un "hola Mundo".

Dado por hecho que ye tenemos instalado en nuestro ordenador Python (https://www.python.org/download/) y Django (https://www.djangoproject.com/download/), vamos al lío.

Lo primero que tenemos que hacer es abrir una consola y situarnos en el directorio donde queremos crear nuestro proyecto. Yo lo haré en una carpeta llamado Django que tengo en el escritorio.

Una vez que estemos es nuestro directorio lanzaremos el comando:

HTML:
django-admin.py startproject forobeta

Donde yo puse "forobeta" ustedes podrán poner el nombre que quieran para su proyecto.
d1.jpg

Si ahora nos vamos a nuestro directorio Django en el escritorio veremos que nos ha creado una nueva llamada "forobeta". Dentro de ella habrá una nueva carpeta también llamada "forobeta" y el archivo manage.py que no hará falta tocar para nada.
d2.jpg

Si entramos en la nueva carpeta "forobeta" ya podremos empezar a ver archivos importantes como son el settings.py (archivo de configuración de nuestro proyecto) o el urls.py (para configurar los enlaces permanentes).
d3.jpg



Una vez tenemos creados los archivos necesarios para nuestro proyecto, vamos a crear una aplicación que nos mostrará el mensaje "Hola Mundo".

Para ello, volvemos a la consola y entramos dentro de la carpeta "forobeta" que creamos en Django al inicio y lanzamos el siguiente comando:

HTML:
python manage.py startapp app1

En app1 podrá elegir el nombre de su aplicación
d4.jpg

Si volviesemos a nuestra carpeta "forobeta", ahora a parte de la nueva carpeta "forobeta" y el archivo manage.py también tendremos la carpeta de nuestra aplicación app1 con archivos que iremos viendo a medida que avancemos este tutorial.
d5.jpg

Es hora de empezar a modificar los archivos. Empezaremos por el archivo settings.py (el de configuración) que tenemos en nuestra proyecto "forobeta".

Aquí podremos modificar parámetros como TIME_ZONE o LANGUAGE_CODE para adaptarlo a nuestra zona horaria, pero ahora me centraré en los realmente importantes.

Lo primero que haremos será realizar una modificación en estas líneas:
HTML:
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

Modificaremos BASE_DIR por ruta_archivos para tener más claro el funcionamiento más adelante.
d6.jpg

Ahora añadiremos dos parámetros importantes (TEMPLATE_DIRS y STATICFILES_DIRS) que indicarán a django donde tenemos ubicadas nuestras plantillas que utilizaremos y los archivos estáticos, como puedan ser imágenes, mp3...

En la parte final del archivo:

TEMPLATE_DIRS = (
os.path.join(ruta_proyecto,'plantillas'),
)

STATICFILES_DIRS = (
os.path.join(ruta_proyecto,'estaticos'),
)

d7.jpg

Como pueden ver en os.path.join, hemos especificado ruta_proyecto que modificamos anteriormente y el nombre de dos carpetas "plantillas" y "estaticos" que es donde se situarán nuestras plantillas que queramos usar en nuestras aplicaciones y nuestros recursos estáticos. Estan carpetas tendremos que crearlas manualmente dentro de nuestro proyecto "forobeta", junto a los archivos settings.py, urls.py ...
d8.jpg

En nuestro archivo settings.py no modificaremos nada más en este tutorial. De esta manera ya tendremos preparadas nuestras carpetas con recursos por su tuviésemos que utilizarlas. Para ver que todo está correcto iniciaremos nuestro servidor lanzando en la consola (dentro de nuestro proyecto "forobeta") el comando:

HTML:
python manage.py runserver

d9.jpg

Lanzaremos un nuevo navegador y accederemos a http://127.0.0.1:8000/ Podremos ver que está funcionando correctamente:
d10.jpg

Una vez configurado nuestro proyecto y lanzado, el siguiente paso será mostrar nuestro mensaje "hola Mundo" en nuestra aplicación app1. Para ello entraremos en nuestra carpeta app1 y abriremos el archivo views.py (para crear nuestras vistas) e introduciremos:

HTML:
from django.http import HttpResponse

def decirHola(request):
    return HttpResponse('<h1>Hola Mundo, Hola Forobeta</h1>')

Lo que hicimos es importar HttpResponse y crear una función llamada decirHola que nos devuelva el mensaje Hola Mundo.

d14.jpg

Una vez tenemos nuestra primera vista creada, nos vamos al archivo urls.py de nuestro proyecto "forobeta" para crear la url permanente y poder verla.

En urlpatterns introduciremos:

HTML:
   url(r'^hola/', 'app1.views.decirHola'),

d13.jpg

De este modo, accedemos a http://127.0.0.1:8000/hola/ nos mostrará el mensaje:
d12.jpg

Si quisiéramos que nos mostrase el mensaje en el index. el urlpatterns tendríamos que tener:

url(r'^$', 'app1.views.decirHola'),

r'^$ hace referencia al index de la página r'^$

Si les ha gustado, like al tema :) Trabajo con Django y Python por lo que puedo hacerles más tutoriales al respecto. Cualquier duda, mensaje :)
 
Última edición por un moderador:

deskpro123

Iota
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
5 Jun 2012
Mensajes
2.014
Para que sirve ese tipo de lenguaje, osea que tiene de mejor y diferente que el clasico PHP?
 

Brandon Díaz

Lambda
SEO
Verificación en dos pasos activada
Desde
24 Nov 2011
Mensajes
2.815
Para comenzar php está orientado a la web.

Python es más sencillo de aprender, suelen enseñarlo en varios lugares en cursos de introducción a la programación (que a mi gusto deberían enseñar C... pero bueno, no son mis escuelas), su sintaxis es más limpia y es más intuitivo al programar.

Ahora... para más diferencias, acá
 

drewhack1

Delta
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
9 Jul 2011
Mensajes
713
Excelente tutorial para que los usuarios vallan conociendo poco a poco de este hermoso lenguaje.
 

AlreadyBanned

Épsilon
Desde
9 Abr 2014
Mensajes
829
hola alguien me puede mas informacion acerca de Python o Django?
no entiendo para que sirve o porque es importante para mi aprenderlos
no soy programador soy marketer por internet

Saludos
 

elpingunson

Gamma
Programador
Desde
16 Sep 2012
Mensajes
289
Me suscribo al tema, buen tuto, me gusta Python y la habilidad de trabajar la web con el, espero más tutoriales, no es fácil encontrar tutoriales de Django en la web.

Sent from my Note3
 

klk3

Iota
Verificación en dos pasos activada
Desde
29 Ene 2011
Mensajes
2.230
Para que sirve ese tipo de lenguaje, osea que tiene de mejor y diferente que el clasico PHP?

A mi me gusta django principalmente por la conexcion con base de datos. Puedes utilizar MySQL o sqlite entre otras y no tienes que picar ni un solo select ni un insert ni nada. Te trae funciones ya hechas para ello sea cual sea la base de datos que utilizes.

En cuanto a alguna diferencias notable en cuanto a escritura, python no se utilizan paréntesis ni corchetes, va todo por tabulaciones. A mi es algo que me hace verlo de manera mas sencilla

---------- Post agregado el 25-jun-2014 hora: 20:32 ----------

Dicen que si dominas django tienes trabajo asegurado ?

no sé en cuanto será verdad eso. Yo trabajo con Django y he tenido un par de ofertas más con ello. Quizá sea suerte o no pero actualmente si que se pide. Saludos!
 
Arriba