擅长:python、mysql、java
<p>约翰的回答给出了两个很好的理由。这里还有两个:</p>
<ol>
<li><p><strong>将模板与控制器代码分离可以简化两者。</strong>处理控制器函数不需要知道HTML;处理模板不需要知道Python。您的编辑器或IDE也更有可能用单独的文件提供语法高亮显示、补全等。</p></li>
<li><p>将视图和控制器分开(还有模型,尽管你没有问这个问题)通常会导致代码更容易用自动化测试工具测试,比如Python的内置<code>unittest</code>库。Django利用这个库进行自己的测试。这部分是由较低的<a href="https://en.wikipedia.org/wiki/Coupling_(computer_programming)" rel="nofollow noreferrer">coupling</a>和可能较高的<a href="https://en.wikipedia.org/wiki/Cohesion_(computer_science)" rel="nofollow noreferrer">cohesion</a>造成的。</p></li>
</ol>