Lección 2: Proyecto

Ahora vamos a crear un proyecto Django usando Docker.

Primero crea un archivo requirements.txt en la raíz de tu proyecto con el siguiente contenido:

Django
pillow

Estamos definiendo las dependencias de nuestro proyecto. En este caso, Django (el framework web) y Pillow (una librería para trabajar con imágenes).

Ahora crea un proyecto Django:

docker compose run django django-admin startproject my_app .

Un proyecto de Django puede contener muchas aplicaciones. Cada aplicación es un conjunto de funcionalidades que se pueden reutilizar en otros proyectos. Por ejemplo, un blog, un foro, un sistema de comentarios, etc. Si no tienes aplicaciones, no tienes nada que mostrar en tu sitio web. Por eso vamos a crear una aplicación.

docker compose run django python manage.py startapp my_blog

Añade my_blog a la lista de aplicaciones instaladas en my_app/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'my_blog', # Nuevo
]

Ahora tienes un proyecto Django llamado my_app y una aplicación llamada my_blog.

Entramos en la carpeta de la aplicación:

cd my_blog

Configuraciones básicas

Edita el archivo my_app/settings.py para asegurarte de que las configuraciones de bases de datos, aplicaciones instaladas, y middleware sean correctas. En principio no necesitas cambiar nada, pero es bueno saber dónde están estas configuraciones.

Base de datos

Una base de datos es un sistema de almacenamiento de información. Piensa en ella como una hoja de cálculo, o tabla gigante, donde puedes guardar y recuperar información de forma ordenada. Por ejemplo, puedes guardar cada artículo de tu blog en una fila. No solo tendrá contenido, sino también otros datos importantes como el título, la fecha de creación, las etiquetas, etc. Cada fila es un registro en la base de datos con columnas. Para recoperar último artículo que has añadido, puedes hacer una consulta a la base de datos pidiendo que te dé el último registro, o con la fecha más reciente, o con el título más largo, etc.

Django por defecto usa SQLite, un motor de base de datos ligero y fácil de usar. Para este tutorial, SQLite es suficiente. Si necesitas usar otro motor de base de datos, puedes cambiar la configuración en my_app/settings.py. Django soporta muchos motores de base de datos, como PostgreSQL, MySQL, Oracle, etc. No es necesario modificar nada.

Levantando el servidor

Es el momento de levantar el servidor de desarrollo de Django.

Primero debemos editar el archivo compose.yml para que Django se quede funcionando:

services:

  django:
    build: .
    volumes:
      - .:/usr/src/app/
    ports:
    - "8000:8000"
    command: python manage.py runserver 0.0.0.0:8000

Ahora levanta el servidor:

docker compose up

Abre tu navegador y ve a http://localhost:8000/. Deberías ver una página de bienvenida de Django.

¡Enhorabuena! Django ya está funcionando en tu ordenador.

Configurando la aplicación

Antes de continuar necesito que ejecutes el siguiente comando en la carpeta de tu proyecto:

sudo chown $USER:$USER -R .

De este modo podrás editar los archivos sin problemas.

¡Ya no te distraigo más! Continuemos.

Hola mundo

Edita el archivo my_blog/views.py y añade el siguiente código:

from django.http import HttpResponse

def hello_world(request):
    return HttpResponse('Hola, mundo!')

Ahora crea un archivo urls.py en la carpeta my_blog con el siguiente contenido:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.hello_world, name='hello_world'),
]

Y añade la nueva aplicación a las URLs del proyecto en my_app/urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('', include('my_blog.urls')),
    path('admin/', admin.site.urls),
]

Ahora ve a http://localhost:8000/ y deberías ver el mensaje Hola, mundo!.

Te felicito, acabas de crear tu primera aplicación Django. Tal vez un poco minimalista, pero es un buen comienzo.

Vamos a hacer algo más interesante: añadir información a la base de datos y mostrarla en la página.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario