【发布时间】:2014-01-08 13:13:46
【问题描述】:
我注意到像 flask 这样的框架通常有一个名为 views 的模块来容纳:
@app.route('/')
def index():
return render_template('index.html')
定义类型,然后jinja2 模板位于templates 目录下,但是许多node.js 框架(sails、geddy、locomotive)倾向于将.ejs 模板放在views 中目录而不是 templates 目录。
这似乎不应该是主观的;根据MVC 模型,哪个是正确的?模板文件应该在视图目录下还是应该在 url 处理程序定义下?据我所知,flask 应用程序似乎有正确的views 定义;如果确实如此,flask 控制器是从哪里来的,或者这些定义控制器也是?
【问题讨论】:
-
绝对没有标准,因为 MVC 只是一种跨语言和平台模式,而不是实现规范。我通常遵循特定的 MVC 库对结构的建议。
-
Flask 不是 MVC 框架。
views.py已成为一种常见做法,但这不是必需的。templates是模板的默认位置,尽管可以使用template_folder参数进行更改。
标签: node.js model-view-controller flask sails.js web-frameworks