Что такое mtv в django

Разделение кода¶

В программном обеспечении принято разделять: программную логику, код, который относится к данным, настройки и шаблоны. Таким образом, код становится более структурированным, и его легче развивать, а также сопровождать в дальнейшем.

MVC (Model-View-Controller: модель-вид-контроллер) — шаблон архитектуры ПО, который подразумевает разделение программы на 3 слабосвязанных компонента, каждый из которых отвечает за свою сферу деятельности.

Бешеная популярность данной структуры в Веб-приложениях сложилась благодаря её включению в две среды разработки, которые стали очень востребованными: Struts и Ruby on Rails. Эти среды разработки наметили пути развития для сотен рабочих сред, созданных позже.

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Паттерн MVC (Model-View-Controller)

Классические MVC фреймворки:

Фреймворк Django ввел новую терминологию MTV.

TADA!! Django invented MTV

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Паттерн MTV (Model-Template-View)

В защиту своего дизайна авторы Pyramid написали довольно большой документ, который призван развеять мифы о фреймворке. Например, на критику модели MVC в Pyramid следует подробное объяснение, что MVC «притянут за уши» к веб-приложениям. Следующая цитата хорошо характеризует подход к терминологии в Pyramid :

«Мы считаем, что есть только две вещи: ресурсы ( Resource ) и виды ( View ). Дерево ресурсов представляет структуру сайта, а вид представляет ресурс.

«Шаблоны» ( Template ) в реальности лишь деталь реализации некоторого вида: строго говоря, они не обязательны, и вид может вернуть ответ ( Response ) и без них.

Нет никакого «контроллера» ( Controller ): его просто не существует.

«Модель» ( Model ) же либо представлена деревом ресурсов, либо «доменной моделью» ( domain model ) (например, моделью SQLAlchemy), которая вообще не является частью каркаса.

Нам кажется, что наша терминология более разумна при существующих ограничениях веб-технологий.»

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Паттерн RV (Resources-View)

Также протокол HTTP не позволяет хранить состояние и отправлять/принимать оповещения клиенту от сервера, что ограничивает возможность отслеживания действий клиента для последующего уведомления модели на изменение состояния.

Пример MVC блога¶

Структура файлов¶

Приведем структуру нашего блога к следующему виду:

Источник

Модель MTV. Маршрутизация. Функции представления

Давайте подробнее разберемся как в Django работает механизм обработки запросов от пользователя. Нам это понимание пригодится в дальнейшем, описывая отдельные элементы всей этой процедуры.

Смотрите, вначале, когда запрос приходит на фреймворк, он пропускается через блок маршрутизации:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Здесь фиксируется тип URL-адреса и в списке шаблонов предопределенных адресов ищется первое совпадение. Например, пользователь вводит запрос:

Это есть не что иное, как главная страница сайта, фактически пустой запрос без параметров. Следующий запрос:

Это уже другой маршрут. Или такой запрос:

И так далее. У нас может быть прописано множество типов URL-адресов и каждый адрес связан со своим обработчиком – представлением (иногда его еще называют контроллером). Если текущий запрос от пользователя не совпал ни с одним предопределенным URL, то возвращается код ошибки 404 – страница не найдена.

Предположим, что маршрутизатор нашел совпадение. Далее, активизируется представление, связанное с найденным типом URL-адреса. Представление (иногда его еще называют контроллером) – это или функция или класс, который отвечает за формирование ответа на соответствующий запрос. Как правило, ответом является HTML-страница. Эта страница, затем, возвращается клиенту, и он ее видит в браузере. Так вот, чтобы контроллер мог сформировать страницу, в общем случае, требуются данные (информация), плюс шаблоны, в которые эти данные упаковываются. Например, приходит запрос на вывод страницы о Мадонне:

Активизируется соответствующее представление, которое берет шаблон информационной страницы и наполняет ее данными об этой певице, хранящиеся в БД:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

На выходе получаем сформированную HTML-страницу, которая и возвращается пользователю. Вот такое разделение на данные (model), шаблоны (templates) и представления (views) представляет собой общеизвестный паттерн MTV, то есть, разделение данных и HTML-шаблонов. Техника довольно эффективна и удобна, так как позволяет независимо наполнять БД информацией и параллельно разрабатывать или изменять функционал сайта. Кроме того здесь легче находить ошибки, в отличие от подхода, когда в одном скрипте присутствует и подключение к БД и оперирование шаблонами. Методика «разделяй и властвуй» очень хорошо себя зарекомендовала в мире программирования и довольно часто используется в том или ином виде.

Добавление первого приложения

Отлично, я думаю общие принципы работы фреймворка Django вам понятны. Но пока наш сайт пустой, он не будет реагировать ни на какие запросы пользователей, кроме тестовой главной страницы. Какой должен быть наш следующий шаг? Согласно философии Django мы должны создать новое приложение в рамках нашего сайта. Что это за приложение и зачем оно вообще нужно? Разработчики фреймворка решили, что каждая самостоятельная часть сайта должна представляться в виде своего отдельного приложения. Например, создавая информационный сайт, мы должны будем определить приложение для отображения страниц этого сайта по определенным запросам. Далее, к нам приходит руководитель проекта и сообщает, что еще нужно реализовать форум на сайте. И, так как это функционально независимая часть сайта, то мы создаем еще одно приложение для форума. Затем, руководитель почесал свою репу и вспомнил, что еще нужно сделать раздел с опросом пользователей по разным тематикам. И на сайте появляется еще одно приложение – для опроса. И так далее. Каждая логически и функционально независимая часть сайта предполагает его реализацию в виде отдельного приложения:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Приложения в Django следует реализовывать максимально независимыми, в идеале – полностью независимыми, чтобы в дальнейшем мы могли их просто скопировать в другой сайт и там оно сразу же начинало бы работать. Это не всегда удается, но нужно к этому стремиться.

Итак, давайте создадим в нашем сайте первое приложение, которое возьмет на себя базовый функционал, то есть, оно и будет являться ядром нашего сайта. Для этого я открою терминал и, находясь в каталоге django/djsite/coolsite, выполню команду:

python manage.py startapp women

Здесь startapp – команда для создания нового приложения; women – название приложения. Название может быть любым (мы его придумываем сами), но так, чтобы оно отражало суть своего функционала. В данном случае приложение women (женщины) будет формировать станицы сайта об известных женщинах из разных областей жизни: кино, спорт, музыка, политика.

После создания приложения его необходимо зарегистрировать в проекте нашего сайта, чтобы фреймворк Django «знал» о его существовании и корректно с ним работал. Для этого нужно перейти в пакет конфигурации сайта (coolsite), открыть файл settings.py и в списке INSTALLED_APPS прописать новое приложение. В нем уже прописаны несколько стандартных приложений самого фреймворка и к ним мы просто добавим свое:

По идее этого вполне достаточно и все будет работать, но в действительности Django обращаясь к этому пакету находит файл apps.py, откуда и берет настройки приложения из класса WomenConfig. Чтобы в дальнейшем каждый раз не конкретизировать этот путь, я пропишу его сразу в списке приложений:

Представления и маршрутизация

Все, приложение создано и зарегистрировано. Давайте теперь создадим обработчик главной страницы сайта. Для этого нужно определить представление этой страницы. Как я уже отмечал, представления в Django можно реализовывать или в виде функций или в виде классов. Давайте для начала воспользуемся функцией, как наиболее простой реализацией для понимания. Эта функция будет отвечать за формирование ответа для главной страницы приложения women и называться index (название может быть любым, мы его определяем сами):

Здесь указывается первый обязательный параметр request – это ссылка на экземпляр класса HttpRequest, который содержит информацию о запросе, о сессии, о куках и так далее. То есть, через переменную request нам доступна вся возможная информация в рамках текущего запроса.

На выходе эта функция должна возвращать экземпляр объекта HttpResponse, который будет автоматически формировать нужный заголовок ответа, а содержимое HTML-страницы будет определяться указанной строкой.

Теперь нам нужно связать эту функцию представления главной страницы с соответствующим URL-адресом. Для этого в пакете конфигурации coolsite откроем файл urls.py и в список адресов urlpatterns добавим новый путь с помощью специальной функции path:

Здесь первый параметр – это суффикс URL-адреса, то есть, часть URL, которая добавляется после доменного имени (при этом в конце ставится слеш). Например, если наш сайт располагается по адресу

то первый аргумент ‘women/’ добавляется в конце к этому пути:

Именно такой адрес мы сейчас и определяем. Второй аргумент – это ссылка на функцию представления, которая должна возвращать ответ на данный запрос. Как мы уже знаем, ответ формируется в виде экземпляра класса HttpResponse.

Теперь нам нужно импортировать функцию index, чтобы она была доступна в пакете конфигурации:

Если интегрированная среда вам здесь указывает ошибку, то это потому, что рабочим каталогом следует указать проект coolsite.

Проверим работоспособность нашего нового приложения и маршрута. Запустим тестовый веб-сервер:

python manage.py runserver

И откроем страницу:

В рамках этого приложения мы можем определять сколько угодно таких функций, связанных с разными URL-адресами. Например, пропишем еще одну функцию отображения списка статей по рубрикам:

Мы здесь используем тег h1, чтобы браузер отобразил эту строку как заголовок первого уровня. Затем, добавляем еще один путь в список urlpatterns:

И делаем импорт всех функций из модуля views нашего приложения:

Все, у нас появился новый URL-адрес:

по которому отображается заголовок первого уровня. По аналогии мы можем добавлять самые разные URL в наш сайт.

Обратите внимание, как только мы добавили дополнительные маршруты, тестовая главная страница перестала выдаваться, вместо этого мы видим исключение 404 – страница не найдена. Чтобы задать маршрут для главной страницы, нужно вместо «women/» записать пустую строку:

Здесь пустая строка как раз и соответствует маршруту главной страницы и теперь при обращении к ней будет вызываться функция представления index.

Однако такой подход, когда мы маршруты приложения прописываем в пакете конфигурации, нарушает принцип независимости приложений. Действительно, если мы захотим перенести приложение women на другой сайт, то нам придется дополнительно копировать и его маршруты, что не очень удобно и хорошо. Как это можно разрешить? Очень просто. Django позволяет вторым параметром вместо функции представления передавать список URL-адресов приложения и связанные с ними функции. Для этого мы сначала импортируем специальную функцию include:

А, затем, в списке маршрутов с ее помощью подключим список URL уже из нашего приложения women:

Мы здесь в качестве параметра указываем строку, в которой сначала записываем имя приложения и через точку файл urls, где будут прописаны маршруты приложения women. Ну а дальше все просто. Мы добавляем в приложение новый файл urls.py и в нем формируем список urlpatterns:

Здесь мы, во-первых, импортируем функцию path, которая и связывает URL c функциями представления и, во-вторых, импортируем функции из модуля views текущего пакета. Далее, в списке urlpatterns вызываем функцию path, первым параметром указываем пустую строку, а вторым функцию index. Как вы думаете, какому URL-адресу будет соответствовать эта пустая строка? Смотрите, в основном пакете конфигурации у нас указано, что адреса в ‘women.urls’ следует добавлять как суффикс к адресу ‘women/’, то есть, к адресу:

Поэтому пустая строка в нашем приложении будет ссылаться именно на этот URL-адрес. Давайте проверим. Запустим веб-сервер и откроем эту страницу. Да, мы видим, что отработала именно функция index.

Если же мы добавим еще один маршрут в наш список приложения:

То у нас появится еще один маршрут:

Как видите все достаточно просто и при этом мы получили относительную независимость нашего приложения women от основного проекта сайта.

На этом мы завершим начальное рассмотрение построения маршрутов и определения функций представления. Далее мы еще вернемся к этой теме и посмотрим, как можно использовать классы в качестве обработчиков запросов, какие дополнительные параметры имеются у функции path и некоторые другие моменты.

Видео по теме

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#2. Модель MTV. Маршрутизация. Функции представления

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#3. Маршрутизация, обработка исключений запросов, перенаправления

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#4. Определение моделей. Миграции: создание и выполнение

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#6. Шаблоны (templates). Начало

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#7. Подключение статических файлов. Фильтры шаблонов

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#8. Формирование URL-адресов в шаблонах

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#9. Создание связей между моделями через класс ForeignKey

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#10. Начинаем работу с админ-панелью

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#11. Пользовательские теги шаблонов

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#12. Добавляем слаги (slug) к URL-адресам

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#13. Использование форм, не связанных с моделями

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#14. Формы, связанные с моделями. Пользовательские валидаторы

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#15. Классы представлений: ListView, DetailView, CreateView

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#16. Основы ORM Django за час

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#18. Постраничная навигация (пагинация)

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#19. Регистрация пользователей на сайте

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#20. Делаем авторизацию пользователей на сайте

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#21. Оптимизация сайта с Django Debug Toolbar

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#22. Включаем кэширование данных

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#23. Использование капчи captcha

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#24. Тонкая настройка админ панели

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#25. Начинаем развертывание Django-сайта на хостинге

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

#26. Завершаем развертывание Django-сайта на хостинге

© 2021 Частичное или полное копирование информации с данного сайта для распространения на других ресурсах, в том числе и бумажных, строго запрещено. Все тексты и изображения являются собственностью сайта

Источник

Русские Блоги

Подробное объяснение режима MTV в Django

Справочный блог: https://www.cnblogs.com/yuanchenqi/articles/7629939.html

Во-первых, модель MVC

Знаменитый паттерн MVC в области разработки веб-серверов.

Так называемый MVC разделяет веб-приложения на три уровня: модель (M), контроллер (C) и представление (V), которые связаны подключаемым модулем и слабо связаны.

Модель отвечает за сопоставление бизнес-объектов и базы данных (ORM), представление отвечает за взаимодействие с пользователем (страницей), контроллер принимает ввод пользователя и вызывает модель и представление для выполнения запроса пользователя. Принципиальная схема выглядит следующим образом:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Два, модель MTV

Django’s MTV означает:

Модель :Быть ответственным за Бизнес-объекты и объекты базы данных (ORM)

Шаблон : Ответственный за то, как Отображение страницы Пользователям

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Как правило, пользователь инициирует запрос к нашему серверу через браузер, и этот запрос возвращается к функции просмотра (если вызов данных не задействован, функция просмотра возвращает шаблон, который является веб-страницей для пользователя), функция просмотра Модель вызывается, модель выполняет поиск данных в базе данных, а затем шаг за шагом возвращает.Функция просмотра заполняет возвращенные данные в пустые места в шаблоне и, наконец, возвращает веб-страницу пользователю.

Три, основные команды Django

1. Загрузите Django

2. Создайте проект django.

Проект mysite будет создан в текущем каталоге, в котором выполняется команда.Структура каталогов следующая:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

3. Создайте приложение в каталоге mysite.

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

4. Запустите проект django.

Итак, наш джанго запущен! Когда мы заходим по адресу: http://127.0.0.1:8080/, мы видим:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

5. Синхронно изменять таблицы или поля базы данных (миграция базы данных)

Этот метод может создать таблицу. Когда вы добавляете новый класс в models.py, вы можете запустить его для автоматического создания таблицы в базе данных, не создавая ее вручную.

6. Очистите базу данных.

Эта команда спросит, да или нет. Если да, онаВсе данные очищены, Оставив только пустой список.

7. Создайте суперадминистратора.

8. Терминал среды проекта Django

(1) Терминал оболочки

(2) Терминал базы данных

Django автоматически войдет в базу данных, установленную в settings.py, если это MySQL или postgreSQL, он запросит пароль пользователя базы данных.

В этом терминале могут выполняться операторы SQL базы данных. Если вы знакомы с SQL, вам может понравиться этот подход.

9. Просмотр дополнительных команд

Просмотр всех команд, очень полезно, когда вы забываете под именем.

10. Конфигурация статического файла

(1) Развертывание производственной среды для обработки веб-сервера (nginx)

Статические файлы обрабатываются веб-сервером, а сам Django не обрабатывает статические файлы. Простая логика обработки следующая:

Выше приведен метод обработки после развертывания на веб-сервере. Чтобы облегчить разработку, Django предоставляет механизм обработки статических файлов в среде разработки.

(2) Статическая конфигурация среды разработки

Статические в основном относятся к таким файлам, как css, js, изображения:

Примечание 1. Django сопоставляет ссылочное имя и фактическое имя. При цитировании вы можете использовать только ссылочное имя, а не фактическое имя.

Источник

Русские Блоги

Обзор MTV в Django

Обзор MTV

Соедините M и T через V, пользователь обращается к серверу через T (интерфейс) (отправить запрос), T передает запрос V (планирование), V вызывает M (модель данных) для получения данных и отправляет данные в шаблон T Выполните визуализацию, а затем верните визуализированный шаблон пользователю.

Понимание MVC и MTV framework

1. Просмотры

Создайте функцию ответа маршрута в [каталог приложения / views.py]

Зарегистрируйтесь в [каталог приложения / urls.py]

Включить [URL-адреса приложений] в [URL-адреса проектов]

2. Шаблоны

Создайте шаблон папки templates в корневом каталоге проекта

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

Зарегистрируйте папку шаблона в [директория проекта / settings.py]

Создайте xxx.html под шаблонами

Вернуть обработанный шаблон в функцию ответа

Доступ к статическим ресурсам

Встроенный HTML-шаблон Django:
Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django

3. Модели

Определите модель данных

Модель тестовых данных

Войдите в оболочку Python

python manage.py shell

from App.models import *

from datetime import *

Добавить, удалить, изменить и проверить

Установить значение атрибута

Ассоциация объекта (внешний ключ)

Получить всех первоклассников

Настроить правила маршрутизации в URL

Вызов функций в моделях для запроса в представлениях

Источник

Русские Блоги

Это Django MVC или MVT? И разница между MVC и MVT

Недавно меня смутили некоторые вопросы: следит ли Django за MVC или MVT? В чем разница между MVC и MVT? Может ли MVC продолжать раскол?
Я просмотрел много не связанных между собой статей в Интернете. Это не что иное, как то, что обозначают M, V и C, и то, что обозначают M, V и T соответственно. Эти поверхностные пояснения предназначены для программистов. Это не только не решит проблему, но и увеличит путаницу. Поэтому, проверив некоторую информацию, подводите итоги исходя из личного понимания, помните, что это только личные взгляды и позиции.

Как появился MVC? Что это?

Вначале MVC была идеей, все записанной как Model-View-Controller, и ее основной идеей было: разделение труда и развязка, чтобы уменьшить связь между различными блоками кода, повысить масштабируемость и переносимость кода, достичь Обратная совместимость.
Позже эта идея разделения труда приветствовалась все большим числом разработчиков и широко использовалась в разработке программного обеспечения, став моделью архитектуры программного обеспечения (если вы понимаете ее как программное обеспечение). Архитектурная модель, я всегда чувствую себя немного надуманным).

Разница между рамкой и дизайном рисунка

Наконец, идея MVC применяется к разработке WEB, которая называется WEB MVC framework.

Содержание MVC:

Является ли каркасный шаблон Django MVC или MVT?

Содержание MVT:

Процесс распространения URL-адреса. После получения запроса пользователя и параметров платформа Django сопоставляет URL-адрес с помощью регулярного выражения и перенаправляет его в соответствующее представление для обработки. Просмотрите вызовы M для обработки данных, а затем вызовы T для возврата к интерфейсу браузера.

Сделайте снимок, чтобы увидеть отношения между MVT и дистрибьютором URL:

Что такое mtv в django. Смотреть фото Что такое mtv в django. Смотреть картинку Что такое mtv в django. Картинка про Что такое mtv в django. Фото Что такое mtv в django
Преимущество этой архитектурной модели заключается в том, что часть контроллера, которая принимает пользовательский ввод, обрабатывается самой платформой. Django уделяет больше внимания моделям (моделям), представлениям (представлениям) и шаблонам (шаблонам). Различные компоненты слабо связаны. Каждое веб-приложение, управляемое Django, имеет четкую цель и может быть изменено независимо, не затрагивая другие части.

Мой вывод

Django должен следовать идее MVC, но в конкретной реализации Django является режимом фреймворка MVT, и можно сказать, что MVT и Django тесно неразделимы, и именно использование Django режима архитектуры MVT вызвало у нас путаницу.

“What the heck is MVC? groan. Guess that’s one more fricking thing I have to learn!”
«Что такое MVC?Пожаловаться, Я думаю, что это еще одна скучная вещь, которую я должен изучить! «

no, you don’t have to learn about MVC because it’s more than likely going to confuse you and lead to more questions than answers
Нет, вам не нужно изучать MVC, потому что он может сбить вас с толку и вызвать больше вопросов, чем ответов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *