除了语废喔赡不合,Jinja2经由过程履行情况和高等特点供给了更多的┞菲握。例如,它可以封闭危险的特点以安然的履行不受信赖的模板,或者提前编译模板以确保它们的┞俘当性。
起首,你会留意到这个 {% if user %} 概念。在Django模板中, {% 用来控制轮回和前提的声明。这里的if user声明是为了防止那些不是用户的情况。匿名用户不该该在页面头部看到“你已经登录”的字样。
在if块内,你可以看到,包含名字异常的简单,只要用{{}}包含着我们冲要入的属性就可以了。{{是用来向模板插入真实值的,如{{ user.fullname }}。
模板的另一个常用情况是展示一组物品,如一个电子商务网站的存货清单页面。
- def browse_shop(request):
- # get items
- return render_to_response(
- "browse.html",
- {"inventory": all_items}
- )
在模板中,我们应用同样的{%来轮回清单中的所有条目,并填入它们各自的页面地址。
- {% for widget in inventory %}
- <li><a href=http://developer.51cto.com/art/201709/"/widget/{{ widget.slug }}/">{{ widget.displayname }}</a></li>
- {% endfor %}
Flask对于那些开辟小项目、须要快速制造一个简单的Python支撑的网站的开辟者很有效。它供给小型的同一对象,或者在已有的API上构建的简单收集接口。可以快速开辟须要简单web接口并不怎么设备的后端项目应用Flask将会在前端获益,如jitviewer供给了一个web接口来检测PyPy just-in-time的编译日记。
为了做大年夜部分布见的模板义务,Django可以仅仅应用很少的构造来完成目标,是以很轻易上手。
5.2 Flask
Flask默认应用受Django启发的Jinja2模板说话,但也可以设备来应用另一门说话。不该该埋愿荷琐仓促的法度榜样员分不清Django和Jinja模板。事实是,膳绫擎的Django例子在Jinja2也有效。为了不去反复雷同的例子,我们来看下Jinja2比Django模板更具表示力的处所。
Jinja和Django模板都提够了过滤的特点,即传入的列表会在展示前经由过程一个函数。一个拥有博文类别属性的博客,可以应用过滤特点,在一个用逗号瓜分的列表中展示博文的类别。
- <!-- Django -->
- <div class="categories">Categories: {{ post.categories|join:", " }}</div>
- <!-- now in Jinja -->
推荐阅读
【51CTO.com原创稿件】在大年夜数据、云计算、移动互联网技巧的推动下,企业将得以由“泛数字化”向“聪明化”转型,经由过程实现聪明化应用、聪明化平台、聪明化互联、聪明化计算,塑造企业顶层>>>详细阅读
本文标题:Python Web框架:Django vs Flask vs Pyramid
地址:http://www.17bianji.com/lsqh/37298.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示