Причина, по которой он называется «MVT» вместо «MVC», заключается в том, что «View» для Django означает «представление данных (согласно заданной логике)» и «Template» означает «отображение представленных данных»."В традиционной парадигме MVC «Контроллер» означает «исполнитель логики», а «Вид» - «представление результата выполненной логики».(Это почти та же идея, но не совсем).
Итак, что это значит?По сути, если бы я что-то строил в Symfony, я бы поместил всю логику в компоненты sfAction.В CodeIgniter это было бы в CI_Controller.В Django я размещу всю логику в «Views».
Так же, как CI (и Zend, и другие) будут вызывать «View» от потомка контроллера, представление Django также будет вызывать «Template» из своего «View».(Представления Symfony часто вызываются в другом синтаксисе, поэтому я оставлю это читателю для исследования при желании).
Если посмотреть на ваш пример, похоже, что вы хотите вызвать метод в«Представление» (которое настроено на urls.py
), которое просто создает экземпляр другого объекта, в котором «вся ваша логика».Что-то вроде:
def ratesHandler(request):
rate = MyRatesClass(request.GET)
return HttpResponse("Insert something here. ") #or render_to_response