Встречается на собеседованиях • сегодня

В чем разница между MVC и MVT

MVC (Model-View-Controller) и MVT (Model-View-Template) — это архитектурные паттерны, но с разной организацией логики.

MVC:

  • Model — данные и бизнес-логика.
  • View — отображение данных (UI).
  • Controller — обрабатывает пользовательский ввод, управляет Model и View.

Пример (условный):

python
class Model:
    def get_data(self):
        return "Data"

class View:
def render(self, data):
print(f"Display: {data}")

class Controller:
def init(self):
self.model = Model()
self.view = View()

text
def run(self):
    data = self.model.get_data()
    self.view.render(data)
text

**MVT (Django)**:
- **Model** — аналогично MVC.
- **View** — логика обработки запроса (как Controller в MVC).
- **Template** — отвечает за отображение (как View в MVC).

Пример (Django):
```python
# views.py
def my_view(request):
    data = MyModel.objects.all()
    return render(request, 'template.html', {'data': data})

Ключевое отличие:
В MVT Django объединяет логику Controller и View из MVC, а Template отвечает только за отображение. MVT — это адаптация MVC под веб-фреймворки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы