LasIndias.blog

Conquistar el trabajo es reconquistar la vida

Grupo de Cooperativas de las Indias

videoblog

libros

Montando un «Hola mundo» con Django 1.4

Hace poco más de una semana la Django Software Foundation liberó la versión 1.4 de este framework de desarrollo web escrito en Python. Entre las novedades de la nueva versión se encuentra la definición de una nueva estructura de directorios por defecto para los proyectos. El libro de Django aún no esta actualizado para la nueva versión y el tutorial, actualizado ya para Django 1.4, toma como «Hola mundo» el desarrollo de una primera aplicación de encuestas. Pero tomando un poco de aquí y de allá podemos montarnos nuestro «Hola mundo» con Django 1.4 de la siguiente forma.

Una vez tengamos Django 1.4 instalado y trabajando en nuestro sistema, creamos un nuevo proyecto:

Creando nuestro proyecto

1
$ django-admin.py startproject proyecto_web

Importante remarcar que un proyecto no es una aplicación sino una instancia completa de Django. Nuestro «Hola mundo» será precisamente una de muchas posibles aplicaciones escritas en nuestro proyecto. Aquí podemos ver la estructura por defecto de nuestro proyecto.

1
2
3
4
5
6
7
proyecto_web
    manage.py
    proyecto_web
        __init__.py
        settings.py
        urls.py
        wsgi.py

Podemos encontrar una descripción detallada de de cada unos de estos archivos y directorios en el tutorial en su apartado «Creando un proyecto».

Creando nuestra aplicación «Hola mundo»

Podemos añadir una nueva aplicación a nuestro proyecto ejecutando, situados en el directorio raíz de nuestro proyecto, el siguiente comando:

1
$ python manage.py startapp hola_mundo

De esta forma tenemos la siguiente estructura de directorio:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
proyecto_web
    manage.py
    proyecto_web
        __init__.py
        settings.py
        urls.py
        wsgi.py
    hola_mundo
        __init__.py
        models.py
        tests.py
        views.py

Antes de continuar tenemos que contarle a nuestro proyecto que nuestra nueva aplicación esta instalada. Para esto editamos el fichero settings.py y añadimos a la tupla de aplicaciones instaladas del proyecto, INSTALLED_APPS, nuestra aplicación hola_mundo. Quedaría de la siguiente forma:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',

    # Nuestra aplicacion hola_mundo

     'hola_mundo',
)

Con nuestra aplicación añadida y el patrón de diseño MVC, cuya implementación en Django tiene muy ligeras variaciones, en la cabeza podemos comenzar a trabajar en la edición del archivo views.py de aplicación recién creada.

Editando la vista de nuestra aplicación «Hola mundo»

Tenemos que editar el archivo views.py de nuestra aplicación situado en /proyecto_web/hola_mundo/. La función y las sentencias de importación que tenemos que añadir al archivo son:

1
2
3
4
from django.http import HttpResponse

def hola(request):
    return HttpResponse("Hola mundo con Django 1.4")
  • Request es un parametro que todas las funciones vista reciben con información importante sobre la petición.
  • HttpResponse es un objeto para regresar una respuesta generada por la función.

Primero importamos la clase HttpResponse, la cual necesitamos más abajo en nuestro código. A continuación declaramos una función llamada hola, la cual, recibe un objeto request y retornar un objeto HttpResponse instanciado con el texto “Hola mundo con Django 1.4”

Esta función no tendrá efecto hasta no configurar las rutas que podemos especificar en el archivo urls.py

Configurando urls.py

En Django se utiliza el archivo urls.py para mediante expresiones regulares conectar una función de una vista a una URL concreta .En cierta forma en nuestro urls.py tenemos la tabla de contenidos de nuestro sitio web desarrollado con Django. Basicamente es un mapeo entre la direcciones URL y las funciones de nuestras vistas que deben ser llamadas para las URLs.

Para añadir una URL y una vista a nuestro urls.py, tan solo tenemos añadir un patrón URL junto a la vista que le debe dar respuesta. De esta forma conectamos la función hola de nuestro aplicación hola_mundo a la URL /hola/.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'proyecto_web.views.home', name='home'),
    # url(r'^proyecto_web/', include('proyecto_web.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),

    # /hola/ -> hola()

    url(r'^hola/$', 'hola_mundo.views.hola'),
)

Ahora sólo nos queda iniciar nuestro servidor y buscar nuestro «Hola mundo» en la URL http://127.0.0.1:8000/hola/

1
$ python manage.py runserver

«Montando un «Hola mundo» con Django 1.4» recibió 0 desde que se publicó el Sábado 7 de Abril de 2012 . Si te ha gustado este post quizá te gusten otros posts escritos por Manuel Ortega.

Deja un comentario

Si no tienes todavía usuario puedes crear uno, que te servirá para comentar en todos los blogs de la red indiana en la
página de registro de Matríz.