django和flask的区别 面试题,django和flask哪个容易入门

  django和flask的区别 面试题,django和flask哪个容易入门

  Flask与Django的区别

  Django功能齐全,Flask只包含了配置Django一站式解决方案的基本思路,让开发者不必在开发前花大量时间在选择应用的基础架构上。Django内置了模板、表单、路由、认证、基本数据库管理等功能。相反,Flask只是一个内核,默认依赖两个外部库:Jinja2模板引擎和Werkzeug WSGI工具集,其他很多功能都是以扩展的形式嵌入的。

  Flask比Django更灵活。在使用Flask构建应用之前,选择组件会给开发者带来更多的灵活性。有些应用场景可能不适合使用标准的ORM(对象关系映射对象关联映射),或者需要与不同的工作流和模板系统进行交互。

  Flask是在Django之后发布的,现阶段有大量的插件和扩展来满足不同的需求。Django于2005年发布,Flask成立于2010年年中。

  入门引导

  Flask的Hello World应用程序代码最简单,一个Python文件只有7行代码就够了。

  fromflaskimportFlask

  app=Flask(__name__)

  @app.route(/)

  defhello():

  回到你好的世界!

  if__name__==__main__:

  上面的app.run()代码已经是一个简单的web应用了。从上面Hello World应用的特点来看,一个Python web开发经验不多的人也能很快开始编码。

  项目区别

  Django创建项目和应用程序。

  django-adminstartprojecthello _ django

  Django-adminstartapphowdy目录结构:

  默认情况下,在创建Django项目和应用程序之后,它们只包含空的模型和模板文件。然而,在Flask创建项目后,目录中没有文件,我们需要手动创建它们。没有像Django那样的组件分离,但是Flask有需要分离组件的项目蓝图。比如你可以把和用户相关的函数放在user.py里,把和销售相关的函数放在ecommerce里,来构建你的应用,py Django把一个项目分成独立的应用,而Flask认为一个项目应该是一个单独的应用,有一些视图和模型。当然,我们也可以像Flask中的Django一样复制项目结构。

  模板对比

  大家都很熟悉Django的模板。我们举个简单的例子。

  Flask默认使用受Django启发的名为Jinjia2的模板。事实上,上面所有Django模板的例子在Jinjia2中都运行良好。

  模版简单对比

  !姜戈

  div class= categories categories : { { post . categories join : , }}/div

  !- Jinja2 -

  class= categories categories 3360 { { post . categories join(,)}}/div在金佳的模板语言中,可以向过滤器传递任意数量的参数,因为金佳把它当成调用Python函数,把参数括在括号里。Django使用冒号来分隔过滤器名称和参数,因此只能传递一个参数。

  Flask的Jinja模版 for-else-endfor

  {%foritemininventory%}

  div class= display-item { { item . render()} }/div

  {%else%}

  divclass=display_warn

  h3Noitemsfound/h3

  可能是pTryanothersearch?/p

  /div

  { % end for % }Django模版 for-empty-endfor

  {%foritemininventory%}

  div class= display-item“{ item . render } }/div

  {%empty%}

  divclass=显示-警告

  h3Noitemsfound/h3

  可能是pTryanothersearch?/p

  /div

  {%endfor%}除了上面的语法差异,Flask还提供了很多独特的上下文变量(url_for、get _ flashed _ messages()等。).

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: