Fundamentos de Django

1

Entornos Virtuales y Configuración de Django en Python

2

Instalación y configuración de Django con pip y django-admin

3

Arquitectura MBT en Frameworks Web: Model, View y Template

4

Modelo, Vista y Plantilla en Django: Creación y Conexión Básica

La M en el Patrón: Modelo

5

Modelos y Migraciones en Django ORM

Manejo Avanzado de Modelos y Bases de Datos

6

Migraciones en Django: Creación de Tablas en la Base de Datos

7

Creación y Gestión de Campos en Tablas de Django ORM

8

Modificación y Eliminación de Datos en Base de Datos con Python

Relaciones y Asociaciones entre Modelos

9

Relaciones de Tablas Uno a Muchos con Django

10

Relaciones de Muchos a Muchos en Modelos de Base de Datos

11

Relaciones 1 a 1 en Django: Creación y Gestión de Perfiles de Autor

12

Uso de Managers en Django para Consultas de Base de Datos

Configuración de URLs y Vistas Avanzadas

13

URLs Dinámicas en Django: Creación y Gestión Eficiente

14

Vistas en Django: Funciones vs Clases y su Implementación

La T en el Patrón: Plantillas o Templates

15

Templates y Tags en Django: Creación de Aplicaciones Web

Desarrollo de Aplicaciones en Django

16

Configuración de Proyecto Django: Entorno, Extensiones y Repositorio

17

Creación de Modelos de Producto en Django para Cafeterías

18

Instalación y uso de Pillow para campos de imagen en Django

19

Creación y Gestión de Formularios con Django

20

Creación de Plantillas con Django y Tailwind CSS

21

Administración de Modelos en Django: Configuración y Uso de Django Admin

22

Creación de Login y Registro de Usuarios en Django

23

Creación de una Aplicación de Pedidos en Django

24

Detalle de Orden y Personalización de Vistas en Django

25

Corrección de errores en MyOrderView para autenticación de usuario

26

Crear y configurar vistas para agregar productos a una orden en Django

Django Rest Framework

27

Creación de APIs con Django REST Framework

Despliegue de aplicaciones Django

28

Configuración de Bases de Datos con Django y AWS RDS

29

Uso de Django Environ para Manejar Credenciales Seguras

30

Testing de Aplicaciones Django con Unit Tests

31

Despliegue de Proyectos Django en AWS: Configuración y Mejora de Código

32

Despliegue de Aplicaciones con AWS Elastic Beanstalk y Django

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Django

Curso de Django

Luis Martínez

Luis Martínez

Configuración de Bases de Datos con Django y AWS RDS

28/32
Recursos

Preparar una aplicación para producción requiere asegurar que el entorno de desarrollo sea compatible con el entorno de producción. Aquí exploramos cómo configurar una base de datos PostgreSQL local y en AWS para asegurar una transición fluida.

¿Por qué cambiar de base de datos para producción?

El entorno de producción puede tener muchos usuarios simultáneos, lo que exige una base de datos capaz de manejar múltiples conexiones de manera eficiente. SQLite, aunque útil para desarrollo, no es ideal para producción. PostgreSQL, por otro lado, ofrece la capacidad necesaria para manejar estas demandas.

¿Cómo configurar PostgreSQL localmente?

  1. Modificar configuración en Django:

    • Abrir el archivo settings.py en el proyecto.
    • Buscar la sección de configuración de la base de datos y reemplazar SQLite con PostgreSQL.
    • Ejemplo de configuración:
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.postgresql_psycopg2',
              'NAME': 'mydatabase',
              'USER': 'mydatabaseuser',
              'PASSWORD': 'mypassword',
              'HOST': 'localhost',
              'PORT': '',
          }
      }
      
  2. Verificar conexión:

    • Ejecutar psql -h localhost para asegurarse de que PostgreSQL está instalado y configurado correctamente.
    • Crear y migrar la base de datos con python manage.py migrate.

¿Qué errores pueden surgir al configurar PostgreSQL?

Un error común es la falta de la librería psycopg2. Este problema se soluciona instalando la librería necesaria:

pip install psycopg2-binary

Esta librería permite a Django comunicarse con PostgreSQL de manera eficiente.

¿Cómo configurar PostgreSQL en AWS?

  1. Crear una instancia en AWS RDS:

    • Iniciar sesión en AWS y buscar RDS.
    • Crear una instancia de base de datos PostgreSQL usando la capa gratuita.
    • Configurar el nombre de la base de datos, usuario y contraseña.
  2. Configurar reglas de seguridad:

    • Acceder a los grupos de seguridad y editar las reglas de ingreso y egreso para permitir el tráfico desde la IP local.
  3. Conectar Django a AWS RDS:

    • Modificar el archivo settings.py para incluir las credenciales de AWS RDS.
    • Ejemplo:
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.postgresql_psycopg2',
              'NAME': 'mydatabase',
              'USER': 'mydatabaseuser',
              'PASSWORD': 'mypassword',
              'HOST': 'mydatabase.amazonaws.com',
              'PORT': '5432',
          }
      }
      
    • Asegurarse de no incluir credenciales sensibles en el repositorio.

¿Cómo manejar las credenciales de manera segura?

Es crucial no almacenar las credenciales en el archivo settings.py para evitar comprometer la seguridad del proyecto. Utilizar variables de entorno o servicios de gestión de secretos es la mejor práctica para mantener la seguridad de la información sensible.

Aportes 11

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

en todas las clases el profesor menciona que deja un recurso o el repositorio y cuando voy a buscar no esta, cuál es el recurso que menciona??
Por favor, necesito ayuda. Instalé postgres por línea de comandos en WSL y cuando voy a este paso que hace el profesor: "psql -h localhost postgres\_local;" me sale esto: Password for user carlos: psql: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "carlos" connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "carlos"
el sonido de esta clase esta muy bajito
por que utilizan servicios donde se deben ingresar datos de tarjeta de credito.La verdad me decepcionó esta parte.
esta clase no se escucha y no es mi computador
Docker compose: services: db: image: postgres:17.2 container\_name: postgres\_container user: "999:999" # Usuario y grupo del contenedor (verifica el UID/GID real) environment: POSTGRES\_USER: admin POSTGRES\_PASSWORD: admin POSTGRES\_DB: coffee\_shop volumes: - postgres\_data:/var/lib/postgresql/data ports: - "5433:5432" pgadmin: image: dpage/pgadmin4 restart: always container\_name: pgadmin\_container environment: PGADMIN\_DEFAULT\_EMAIL: <[email protected]> PGADMIN\_DEFAULT\_PASSWORD: 1234 volumes: - pgadmin\_data:/var/lib/pgadmin ports: - "5050:80" depends\_on: - dbvolumes: postgres\_data: pgadmin\_data:
Usando `pip install dj-database-url` podemos también conectarnos asi: ```python import dj_database_url DATABASES = { 'default': dj_database_url.config( default='postgres://usuario:contraseña@host:puerto/nombre_base_datos' ) } ```
Una buena opción es usar Render si no pueden usar AWS, aquí les dejo el link también tiene un plan free: <https://render.com/>
Hola el sonido de este vídeo esta de baja calidad
Mi Login companeros, me ha gutado bastante:![](https://static.platzi.com/media/user_upload/image-a6f85f55-12f4-404c-b661-804a6fcf6079.jpg) Para cargar imagenes en el HTML en la etiqueta img: 1\. Carga la etiqueta static en el template{% load static %} ```js {% load static %} ``` 2\. Asegura la ruta static en tu settings.py ```js STATIC_URL = "static/" ```STATICFILES\_DIRS = \[ BASE\_DIR / "static", "/var/www/static/", ]\Y en la etiqueta \ ```js ``` Para ejemplo `my_app/static/my_app/example.jpg`.STATIC\_URL = "static/" 3\. Carga dentro de la app la imagen ejemplo: ```js my_app/static/my_app/example.jpg. ```4. Si tu quieres tener cargar imagenes estaticas en la carpeta raiz del proyecto: debes colocar esto en el settings.py ```js STATICFILES_DIRS = [ BASE_DIR / "static", "/var/www/static/", ] ```
Existen muchas diferencias para configurar MySQL en AWS con Django ? Estoy emigrando proyectos desarrollados en Angular y están todos en MySQL