小编给大家分享一下django和烧瓶的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>烧瓶与django的区别强>
django功能大而全,瓶只包含基本的配置django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间.Django有模板,表,单路由,认证,基本的数据库管理等等内建功能。与之相反,瓶只是一个内核,默认依赖于两个外部库:Jinja2模板引擎和Werkzeug WSGI工具集,其他很多功能都是以扩展的形式进行嵌入使用。
瓶比django更灵活用瓶来构建应用之前,选择组件的时候会给开发者带来更多的灵活性,可能有的应用场景不适合使用一个标准的ORM(对象-关系映射对象关联映射),或者需要与不同的工作流和模板系统交互。
烧瓶在django之后发布,现阶段有大量的插件和扩展满足不同需要django发布于2005年,烧瓶创始于2010年年中。
<强>入门引导强>
烧瓶的Hello World应用的代码是最简单的,只用在一个Python文件里码7行代码就够了。
得到flask import 瓶=,app 瓶(__name__) @app.route (“/? def hello (): return “Hello 世界!“==,if __name__ “__main__": app.run ()
上面代码就已经是一个简单的网页应用,从上面的Hello World应用的特点来看,一个没什么Python web开发经验的人就可以很快的上手开始撸代码。
<强>项目区别强>
Django创建项目和创建应用
django-admin startproject hello_django django-admin startapp 你好
目录结构:
默认情况下,django项目和应用创建好了之后,只包含空的模型和模板文件,而瓶创建项目之后,目录里面没有任何文件,需要我们手动创建,是没有像django一样组件分离,而对于需要把组件分离开的项目,瓶有蓝图。例如,你可以这样构建你的应用,将与用户有关的功能放在user.py里,把与销售相关的功能放在电子商务。py里.Django把一个项目分成各自独立的应用,而瓶认为一个项目应该是一个包含一些视图和模型的单个应用。当然我们也可以在烧瓶里复制出像Django那样的项目结构。
<强>模板对比强>
Django的模版大家都很熟悉,我们举一个简单的例子
瓶默认使用一个受Django启发而发展起来的名为Jinja2的模板,其实,所有上面的Django模板的例子在Jinja2里也是好使的。
<强>模版简单对比强>
& lt; !——Django祝辞 & lt; div 类=癱ategories"祝辞类别:{{,post.categories |加入:“,,,}}& lt;/div> & lt; !——Jinja2祝辞 & lt; div 类=癱ategories"祝辞类别:{{post.categories才能|加入(,,,,),,}}& lt;/div>
在金贾的模板语言里,可以把任何数量的参数传给过滤器,因为金贾的像调用一个Python函数的方式来看待它,用圆括号来封装参数.Django使用冒号来分隔过滤器名和参数,这样就只能传递一个参数了。
<强>烧瓶的金贾的模版for-else-endfor 强>
{%,for item 拷贝inventory %} ,,,& lt; div 类=癲isplay-item"在{{,item.render (),}} & lt;/div> {%,else %} ,,,& lt; div 类=癲isplay_warn"比; ,,,& lt; h4> No items found ,,,& lt; p> Try another 搜索,,也许? & lt;/p> ,,,& lt;/div> {%,endfor %}
<强> Django模版for-empty-endfor 强>
{%,for item 拷贝inventory %} ,,,& lt; div 类=癲isplay-item"在{{,item.render }} & lt;/div> {%,empty %} ,,,& lt; div 类=癲isplay-warn"比; ,,,& lt; h4> No items found ,,,& lt; p> Try another 搜索,,也许? & lt;/p> ,,,& lt;/div> {%,endfor %}
除了上述的语法区别,瓶还提供了很多特有的上下文变量(url_for, get_flashed_messages()等)。<强> 强>