title: Which project structure is correct as per MVC?
body: <p>I noticed frameworks such as <code>flask</code> typically have a module named <code>views</code> to house the:</p>
  
  <pre><code>@app.route('/')
  def index():
     return render_template('index.html')
  </code></pre>
  
  <p>type of definitions and then the <code>jinja2</code> templates are under the <code>templates</code> directory, however a lot of the <code>node.js</code> frameworks (sails, geddy, locomotive) tend to put the <code>.ejs</code> templates in the <code>views</code> directory instead and have no <code>templates</code> directory.</p>
  
  <p>It seems like this shouldn't be subjective; which is correct as per the <code>MVC</code> model? Should the template files be under the views directory or should the url handler definitions? From what I can tell, the <code>flask</code> application seems to have the correct definition of <code>views</code>; if this is in fact the case, where do flask controllers come in or are these definitions controllers too?</p>