Nuestra primera aplicación web en Python con Django




Vamos a crear nuestra primera aplicación web en Python con Django.

Requisitos:

Para implementar nuestra primera aplicación web en Python con Django, es necesario que tengamos antes instalado lo siguiente:
  • Python
  • Django


Creando nuestro primer proyecto

Teniendo ya instalado Python y Django en nuestro equipo, procedemos a crear nuestro primer proyecto. Para esto abrimos la consola de comandos y nos situamos en el directorio dentro de nuestra PC donde queremos crear nuestro proyecto y escribimos el siguiente comando:
>>> django-admin startproject miproyecto
Lo que hacemos es llamar al administrador Django django-admin con el comando para la creación de un nuevo proyecto startproject y el nombre de nuestro proyecto como parámetro miproyecto (que será el nombre que tu le quieras asignar a tu proyecto).

Inmediatamente Django creará un nuevo directorio dentro del directorio donde estás situado, denominado "miproyecto" y dentro de él habrá otro subdirectorio con el mismo nombre que tu proyecto "miproyecto" un archivo Python llamado manage.py que será como nuestro manejador de comandos. El directorio creado contiene lo siguiente:
  • miproyecto
    • manage.py
    • miproyecto
      • __init__.py
      • settings.py
      • urls.py
      • wsgi.py

Corriendo el servidor de desarrollo

Con esto ya tenemos nuestro primer proyecto creado. Para ver que todo funciona bien, desde la consola nos situamos dentro de nuestro directorio creado con:
>>> cd miproyecto
y luego iniciamos nuestro servidor integrado Django con el siguiente comando:
>>> python manage.py runserver 80
Lo que hacemos es ejecutar el archivo Python que Django creó dentro de nuestro proyecto manage.py con el comando runserver 80, esto correrá el servidor de desarrollo que vienen por defecto en Django, en el puerto 80 (el puerto predeterminado es 800). Hecho esto abrimos nuestro explorador web y escribimos en la barra de direcciones localhost o lo que es igual 127.0.0.1 y deberíamos visualizar una página con el siguiente contenido:

Creando nuestra primera App

Esto significa que todo a funcionado bien. Ahora procedemos entonces a crear nuestra primera aplicación web. Para ello nos vamos otra vez a nuestra consola y detenemos el servidor de desarrollo con las teclas Ctrl + Break. Detenido el servidor, procedemos a escribir la siguiente linea que creará nuestra primera aplicación web:
>>> python manage.py startapp miapp
Esto a ejecutado otra vez nuestro manejador Django manage.py y le hemos pasado el comando startapp con la variable miapp que será el nombre de nuestra aplicación. Hecho esto, Django creará un nuevo directorio dentro de nuestro directorio de proyecto con el nombre de "miapp" que fue el nombre que le asignamos a nuestra aplicación recientemente creada, con unos cuantos archivos dentro de él, quedando entonces la estructura de nuestro directorio de proyecto de la siguiente manera:
  • miproyecto
    • manage.py
    • miproyecto
      • __init__.py
      • settings.py
      • urls.py
      • wsgi.py
    • miapp
      • migrations
        • __init__.py
      • __init__.py
      • admin.py
      • apps.py
      • models.py
      • test.py
      • views.py

Lo explicamos brevemente: la carpeta migrations almacenará automáticamente unos archivos Python que Django creará cada vez que se realicen cambios de estructura en la base de datos. Django lo que hace es facilitarte el trabajo evitando que tu tengas que crear la estructura de la base de datos desde comando SQL o desde algún cliente o manejador de base de datos, ya que cada vez que creas un modelo, deberás ejecutar las migraciones y Django hará todo el resto del trabajo.

El archivo admin.py registra los modelos que querrás manipular dentro del administrador Django.

El archivo apps.py contiene la configuración de nuestra aplicación.

El archivo models.py será el lugar donde tu crearás los distintos modelos que darán origen a la estructura de la base de datos de tu aplicación.

El archivo test.py se utiliza para verificar el correcto funcionamiento de tu aplicación.

El archivo views.py contiene todas las distintas vistas que serán las encargadas de aceptar peticiones y mostrar la plantilla HTML correspondiente.

Registrar nuestra aplicación

Una vez creada la aplicación, es necesario registrarla en nuestro proyecto para que Django tenga constancia de ella. Para esto abrimos en nuestro editor de texto preferido, el archivo settings.py:
  • miproyecto
    • manage.py
    • miproyecto
      • __init__.py
      • settings.py
      • urls.py
      • wsgi.py
    • miapp
      • migrations
        • __init__.py
      • __init__.py
      • admin.py
      • apps.py
      • models.py
      • test.py
      • views.py
Una vez abierto, buscamos lo siguiente:
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
y agregamos un elemento más al listado con el nombre de nuestra app, de tal forma que quede de la siguiente manara:
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'miapp',
]
Ahora si, ya tenemos nuestra primera aplicación creada e instalada, pero aun falta mucho por hacer, de momento es todo lo que puedo dejarles, ya más adelante ampliamos el pequeño tutorial con creación de modelos, vistas y plantillas.

Aquí iré añadiendo los demás temas