Clase 1- Comenzando con Django

Blog Devsar
Aug 28, 2017 · 5 min read

Vamos a comenzar con un proyecto Django desde cero, y mostrar una “pagina web”/template que diga “Hola Mundo”. Para lograr esto vamos a realizar las siguientes tareas:

Crear un nuevo virtualenv para nuestro proyecto

Debemos tener instalado Python3. Luego creamos un virtualenv con el nombre env con el comando:

python3 -m venv env

Instalar Django en el virtualenv

Teniendo nuestro virtualenv env activo, instalamos Django con el comando:

pip3 install django

Crear un nuevo proyecto Django

Teniendo activo el virtualenv env y habiendo instalado Django en el mismo con pip3, creamos un nuevo proyecto Django, con el nombre mysite, con el comando:

django-admin startproject mysite

Configuramos el lenguaje y la zona horaria del proyecto Django

Editando el archivo settings.py, debemos cambiar el valor de las variables LANGUAGE_CODE y TIME_ZONE:

Configuramos SQLite como base de datos

Por defecto, un nuevo proyecto Django, ya viene configurado para utilizar SQLite como base de datos. Para el taller vamos a utilizar SQLite, cual es una gran base de datos, para leer mas sobre sus características podemos ver: https://www.sqlite.org/about.html

Una vez configurada la base de datos, debemos crear los esquemas/tablas en la base. Para ello hacemos uso del comando:

./manage.py migate

Como no hemos hecho modificaciones en los modelos, si corremos nuevamente el comando para aplicar los cambios en la base, veremos el mensaje “no migrations to apply”.

Por el momento piensa los modelos de Django, como el lugar donde próximamente vamos a definir el esquema de la base de datos.

Creamos nuestra primer aplicación Django “hello”

Vamos a crear una pagina web que muestre el mensaje “Hola mundo!”. Para lograr esto vamos a seguir tres pasos:

1- Crear una aplicación “hello”. Crear una aplicación genera un nuevo directorio (con el nombre de la aplicación) donde vamos a escribir todo el código de la misma. Para crear una aplicación utilizamos el comando django-admin startapp <nombre_app>. En nuestro caso, para crear la aplicación “hello” escribimos el comando:

django-admin startapp hello

2- Vamos a escribir una función que tome reciba el request del usuario, y devuelva/retorne un mensaje “Hola Mundo”. El código que maneja los requests de los usuarios, se escribe en el archivo views.py.

3- Relacionamos una url, que al ser visitada por el usuario (donde el navegador del usuario envía el request), ejecuta la función say_hello. Esto se hace en el archivo urls.py. En general los frameworks web a esto le llaman url routing

Finalmente, agregamos en el settings del proyecto, en la lista INSTALLED_APPS, el nombre de nuestra nueva aplicación hello”. Con este paso informamos a Django de que queremos utilizar nuestra reciente aplicacion “hello”

Arrancando nuestro primer proyecto Django

Django trae un servidor web cual nos permite ver nuestro trabajo mientras programamos. Para iniciarlo lo hacemos con el comando:

./manage.py runserver

Ahora podemos abrir la dirección web http://127.0.0.1:8000/ en nuestro navegador web y veremos la bienvenida de Django:

Creando el template para la vista say_hello

Teniendo el servidor web de Django corriendo, visitamos la url: http://127.0.0.1:8000/hello/

Recordemos que el urls.py habíamos relacionado la url:

Obtenemos un error de que el template “hello.html” en nuestra app “hello” no existe. Para agregar este template, vamos a seguir dos pasos:

1- Creamos el directorio templates dentro de la app “hello”:

2- Creamos el archivo “hello.html” dentro del directorio templates recientemente creado y lo editamos:

Notar que en hello.html, dentro de los tags <h1></h1> he hecho uso de {{ value1 }}. Todo lo que se pone entre {{ }} se reemplaza por los valores asignados en el contexto al momento de retornar la función de la vista, muy complicado? Te recuerdo el código de la vista:

La función render toma un parámetro context, cual es un diccionario con una key “value1” y valor “World!”. Dentro del template (hello.html) vamos a poder acceder mediante las keys del contexto a sus valores. Te imaginas para que esto te puede ser útil?

Para terminar, te invito que reinicies el servidor web de Django que esta corriendo en tu terminal, y visites nuevamente la url: http://127.0.0.1/hello/.

Saludos y hasta la próxima entrega!

)
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade