In our interpretation of MVC, the
“view” describes the data that gets
presented to the user. It’s not
necessarily how the data looks, but
which data is presented. The view
describes which data you see, not how
you see it. It’s a subtle distinction.
So, in our case, a “view” is the
Python callback function for a
particular URL, because that callback
function describes which data is
presented.
Furthermore, it’s sensible to separate
content from presentation – which is
where templates come in. In Django, a
“view” describes which data is
presented, but a view normally
delegates to a template, which
describes how the data is presented.
Where does the “controller” fit in,
then? In Django’s case, it’s probably
the framework itself: the machinery
that sends a request to the
appropriate view, according to the
Django URL configuration.
If you’re hungry for acronyms, you
might say that Django is a “MTV”
framework – that is, “model”,
“template”, and “view.” That breakdown
makes much more sense.
At the end of the day, of course, it
comes down to getting stuff done. And,
regardless of how things are named,
Django gets stuff done in a way that’s
most logical to us.
是的,Django不是MVC,Django更喜欢为Model Template View调用其MVC实现MTV。
有关Django和MTV的更多信息,请参见this博客
Django appears to be a MVC framework, but you call the Controller the “view”, and the View the “template”. How come you don’t use the standard names?
相关问题 更多 >
编程相关推荐