在PHP中PHP可以是模板语言。它似乎很适合,不需要模板系统/语言。
但是,我找不到与Python相似的语言。你是怎么做的那样:
我从另一个不相关的SO问题中得到了这个:
<?php foreach( $dates as $year => $year_content ): ?>
<h2><?php echo $year ?></h2>
<?php foreach( $year_content['months'] as $months ): ?>
<h3><?php echo $months->month ?> - <?php echo $months->sales ?></h3>
<?php endforeach; ?>
<?php endforeach; ?>
在没有某人框架的情况下,我在Web视图中找不到类似“本机”Python的内容。感谢。
编辑:没有冒犯。不想要模板语言。编辑:尽管有支持者,但一个例子是Python 3. While there is a five year expectancy to have 2.x users going to 3.x,并非所有模板语言都支持3.x.例如,Jinja拥有“过期”3.x支持。我为什么要用它?我不会。这让我依赖于他们,我希望能够使用原生的东西,但唉,似乎我不能。
答案 0 :(得分:1)
在Python世界中没有针对该问题的正确解决方案,因为混合业务逻辑和表示绝对不是Python方式。有一个名为PSP的旧项目可以与mod_python
模块一起使用,但由于我所描述的原因,它现在已经死了。
所以框架或裸WSGI应用程序是使用Python进行Web开发的两种方式。互联网上有很多模板库:
您可以选择最适合您需求的产品。
答案 1 :(得分:1)
Python在PHP的意义上没有本机模板。您可以使用Python作为ISAPI扩展,它会为您提供类似<% print "foo" %>
的语法。或者,您可以在纯CGI中编写python脚本。这些道路可能非常痛苦,使用框架可以提供更好的服务 - 框架可以让您获得其他开发人员的优势。经验以及直接处理CGI和HTTP处理的粗糙边缘。
答案 2 :(得分:0)
查看Jinja2 http://jinja.pocoo.org/docs/
这是一种相当简单的模板语言,允许您创建可在限定版本的Python内部编程的文本文件模板。
您发布的示例在Jinja2中可能看起来像这样:
{% for date in dates: %}
<h2>{{ date.year }}</h2>
{% for month in date.year_content['months'] %}
<h3>{{ month.month }} - {{ month.sales }}</h3>
{% endfor %}
{% endfor %}