"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Comprendiendo la arquitectura de Django: el patrón MTV.

Comprendiendo la arquitectura de Django: el patrón MTV.

Publicado el 2024-11-02
Navegar:249

Understanding Django’s Architecture: The MTV Pattern.

Django sigue el patrón MTV (Modelo-Plantilla-Vista) para el desarrollo web. Aquí hay un desglose de cada componente:

Modelo: define su estructura de datos y maneja la interacción con la base de datos, lo que le permite almacenar y recuperar datos sin escribir consultas SQL manualmente.

Plantilla: Responsable de representar HTML y presentar los datos al usuario. Escribe HTML mezclado con Django Template Language (DTL) para mostrar contenido dinámico.

Ver: actúa como la capa de lógica empresarial. Conecta el modelo y la plantilla, maneja las solicitudes de los usuarios, interactúa con el modelo y devuelve una respuesta (a menudo HTML renderizado desde la plantilla).

Cómo funciona el ciclo de solicitud-respuesta de Django:

  • Un usuario solicita una página web (a través de una URL).
  • Django relaciona la URL con una Vista.
  • La Vista obtiene datos del Modelo y los pasa a la Plantilla.
  • La plantilla representa los datos en HTML y los envía como respuesta al usuario.

Paso 1: Crear una nueva aplicación en Django.
Una vez que hayas configurado Django (como se explicó en el artículo anterior), creemos una nueva aplicación en tu proyecto.

Ejecute estos comandos:

cd mysite
python3 manage.py startapp core

Esto crea una aplicación llamada core dentro de su proyecto mysite. Su estructura de archivos ahora debería verse así:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Paso 2: registra tu aplicación en el archivo de configuración.
Para que Django conozca la nueva aplicación, debe agregarla a INSTALLED_APPS en mysite/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

Paso 3: Crear una vista básica.
Creemos una vista simple que devuelva un "¡Hola, mundo!" mensaje.

Abre views.py dentro de la aplicación principal y agrega el siguiente código:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

Paso 4: asignar URL a la vista.
Para acceder a esta vista a través de una URL, debe asignarla en el archivo core/urls.py. Cree este archivo si no existe y agregue lo siguiente:

from django.urls import path
from . import views

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

A continuación, incluya las URL de la aplicación principal en el archivo principal mysite/urls.py:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

Ahora, si ejecuta el servidor y visita http://127.0.0.1:8000/core/learn/, debería ver "¡Hola, mundo!" desplegado.
Paso 5: Crear y renderizar una plantilla

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

Esta vista ahora pasa una variable (nombre) a una plantilla llamada hello.html.
Paso 6: Crear un directorio de plantilla y un archivo HTML.
En su aplicación principal, cree una carpeta de plantillas y un archivo hello.html:

mkdir core/templates
touch core/templates/hello.html

Dentro de hello.html, agrega el siguiente código HTML



    Hello Template

Hello, {{ name }}!

Cuando vuelvas a visitar la URL de aprendizaje, deberías ver "¡Hola, Django!" en el navegador.

Paso 7: Crear un modelo básico.
Creemos un modelo de publicación simple para almacenar publicaciones de blog.

En core/models.py, agregue el siguiente código:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def __str__(self):
        return self.title

Este Postmodel tiene dos campos: título y contenido. El método __str__ garantiza que los objetos Post se muestren con sus títulos en el administrador o shell de Django

Paso 8: Aplicar el modelo a la base de datos.
Para crear la tabla correspondiente en la base de datos, ejecute estos comandos:

python3 manage.py makemigrations
python3 manage.py migrate

Django ahora creará una tabla de base de datos para el modelo Post.

Al seguir estos pasos, habrás creado exitosamente una aplicación Django básica con un modelo, vista y plantilla. Ahora puede ampliar esta base agregando más funciones, como manejar la entrada del usuario, mejorar el diseño y hacer que la aplicación sea más interactiva.

Declaración de liberación Este artículo se reproduce en: https://dev.to/vincenttommi/2-understanding-djangos-architecture-the-mtv-pattern-1gl?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3