瓶的框架:MVC模式(Flask-framework: MVC pattern)

2019-07-31 19:30发布

请问瓶框架支持MVC模式自然? 什么应用程序的一部分,我应该考虑作为一种模式,有什么作为视图和什么作为控制器?

通常,(在我的经验)的烧瓶中的应用程序是这样的:

main_dir--|
          |
         app1--|
          |    |
          |  __init__.py
          |  api.py
          |  models.py
          |
         static--|
          |      |
          |    all the static stuff
          |
         app.py # with blueprints registering

Answer 1:

瓶其实并不是一个MVC框架。 这是一个简约的框架,让你在你如何构建你的应用程序有很大的自由度,但MVC模式是一个很好的适合什么样瓶提供。

从本质上讲,你写你的方法,并将它们映射到特定的途径,例如:

@app.route("/")
def hello():
    return "Hello World!"

无观点或模型在那里,你可以看到。 然而,它也是建立在Jinja2的模板库的顶部,所以在现实的应用程序,你的方法(充当控制器)是这样的:

@app.route("/")
def hello():
    return render_template('index.html', username="John Doe")

在这里,你使用index.html模板来渲染页面。 这就是现在你的看法。

瓶没有规定任何模型。 你可以使用任何你想要的 - 从复杂的对象模型(通常使用像SQLAlchemy的一些ORM)到适合您的需求最简单的事情。

有你有它:MVC



文章来源: Flask-framework: MVC pattern