【问题标题】:Python web pages, PHP-stylePython 网页,PHP 风格
【发布时间】:2016-04-15 13:48:10
【问题描述】:

我用过很多Python和PHP,但出于好奇,有没有一个Python版本使用类似于PHP的范式来动态创建html页面,即像这样:

<html>
<body>

<?py                        # similar to <?php ... ?>
for i in range(10):
    print '<div>Hello%i</div>' % i
?>

</body>
</html>

?


注意 1:我不是谈论不使用此类语法的 Django、Flask、Bottle、Twisted 等。

注意 2:建议的代码在 PHP 中是这样的:

<html>
<body>

<?php 
for ($i = 0; $i < 10; $i++)
{ 
    echo '<div>Hello' . $i . '</div>'; 
}
?>

</body>
</html>

【问题讨论】:

  • 你应该从没有一个框架这样做的事实中得到提示。这是一个非常糟糕的主意。
  • 我们都理解您的意思,我们只是指出,Python 世界中没有人认为以这种方式编写代码是个好主意。
  • 确实存在执行此操作的 Python Server Pages 项目,但已经消亡多年。再次,接受提示。

标签: php python html preprocessor web-frameworks


【解决方案1】:

是否有 Python 版本使用类似于 PHP 的范例来动态创建 html 页面

不,python 不能像你想要的那样嵌入到 html 中。这个想法是将视图(html)与代码(python)分开。

看看模板引擎是如何工作的,它们可以允许相当复杂的python代码

Jinja 为例:

    <ul>
        {% for user in users %}
            <li><a href="{{ user.url }}">{{ user.username }}</a></li>
        {% endfor %}
    </ul>

Other 更接近您想要的解决方案会将 htmlconvert 转换为 python 脚本,该脚本将生成完全解释的 html。这有点矫枉过正......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-15
    • 2014-03-26
    • 2020-12-10
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    相关资源
    最近更新 更多