Middle
96
questionbank
Как бы вы описали модель проектирования в Django?
Ответ от нейросети
sobes.tech AI
MVC (Model-View-Controller), но часто описывается как MTV (Model-Template-View).
- Model - определяет структуру данных, взаимодействует с базой данных.
- Template - отвечает за представление данных пользователю (HTML, JINJA2).
- View - обрабатывает запросы, получает данные из Model, передает их в Template для отрисовки и возвращает ответ пользователю.
Отличие от классического MVC: в Django View берет на себя функции Controller, а Template выполняет роль View.
# Пример: views.py (View в терминологии Django)
from django.shortcuts import render
from .models import Product
def product_list(request):
products = Product.objects.all() # Взаимодействие с Model
return render(request, 'products/product_list.html', {'products': products}) # Передача данных в Template
# Пример: models.py (Model)
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=200)
price = models.DecimalField(max_digits=10, decimal_places=2)
description = models.TextField()
def __str__(self):
return self.name