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.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios