在Jinja模板说话中,可以向过滤器传入随便率性数量的参数,因为Jinja把它算作是 应用括号包含参数的Python函数的一个调用。Django应用冒号来瓜分过滤器的名字和过滤参数,这限制了参数的数量只能为一。
Jinjia和Django的for轮回有点类似。我们来看看他们的不合。在Jinjia2中,for-else-endfor构造能遍历一个列表,同时也处理了没有项的情况。
- {% for item in inventory %}
- <div class="display-item">{{ item.render() }}</div>
- {% else %}
- <div class="display-warn">
- <h3>No items found</h3>
- <p>Try another search, maybe?</p>
- </div>
- {% endfor %}
Django版的┞封个功能是一样的,然则是用for-empty-endfor而不是for-else-endfor。
- {% for item in inventory %}
- <div class="display-item">{{ item.render }}</div>
- {% empty %}
- <div class="display-warn">
- <h3>No items found</h3>
- <p>Try another search, maybe?</p>
- </div>
- {% endfor %}
5.3 Pyramid
应用中的SECRET_KEY域是被WTForms用来创建CSRF符号的。它也被itsdangerous(Flask内包含)用来设置cookies和其他数据。
与Flask类似,Pyramid支撑多种模板说话(包含Jinja2和Mako),然则默认只附带一个。Pyramid应用Chameleon,一个 ZPT (Zope Page Template) 模板说话的实现。我们往返头看看第一个例子,添加用户的名字到网站的顶栏。Python代码除了明白调用了render_template函数外其他看起来都差不多。
- @view_config(renderer='templates/home.pt')
- def my_view(request):
- # do stuff...
- return {'user': user}
然则我们的模板看起来竽暌剐些不合。ZPT是一个基于XML得模板标准,所以我们应用潦攀类XSLT语句来操作数据。
哇,相当简单。最难的部分是找到合适的 SQLAlchemy数据类型,选择数据库中String域的长度。应用我们的模型也超等简单,这在于我们将要看到 SQLAlchemy萌芽语法。
- <div class="top-bar row">
- <div class="col-md-10">
- <!-- more top bar things go here -->
推荐阅读
【51CTO.com原创稿件】在大年夜数据、云计算、移动互联网技巧的推动下,企业将得以由“泛数字化”向“聪明化”转型,经由过程实现聪明化应用、聪明化平台、聪明化互联、聪明化计算,塑造企业顶层>>>详细阅读
本文标题:Python Web框架:Django vs Flask vs Pyramid
地址:http://www.17bianji.com/lsqh/37298.html
1/2 1

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