php - 与 PHP 相比,Python 'flow' 与 HTML 的表现如何?

标签 php python html

我正在考虑从使用 PHP 转向使用 Python 来开发 Web 应用程序,但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插进出。本质上,我发现使用 <? and ?> 非常简单/直观将 PHP 放在我想要的地方,然后我可以随意安排/组织我的 HTML。用 Python 做到这一点是否同样容易?从根本上说,问题是:就易用性而言,使用 Python 处理 HTML 与使用 PHP 处理 HTML 是否相似?

编辑:我想为了帮助澄清下面评论中的一些困惑,我的直觉是 PHP 在组织网站的前端、展示部分方面会比 Python 更好,而 Python 在后端部分(实际编程......)表现出色。问题是 - 我错了吗?对于前端,Python 和 PHP 一样好吗?

编辑我的编辑:啊,我开始明白我的方式有误了;看来我不知不觉染上了一些坏习惯。例如,我一直认为可以(阅读:标准)让伪代码中的 PHP 执行以下操作:

If user has filled out form:
    print this html
else:
    print this html

实际上我应该使用一个 HTML 模板,在 sep 中使用 PHP。文件。在这种情况下,PHP 和 Python 处于势均力敌的状态,这可能取决于我自己的编程语言口味。

最佳答案

您无法轻易比较 PHP 和 Python。

PHP 是专门设计为 Apache 插件的 Web 处理框架。它包括 HTTP 协议(protocol)处理以及编程语言。

Python“只是”一种编程语言。有许多 Python Web 框架可以将 Python 插入 Apache。有 mod_wsgi 、CGI 以及不同复杂程度的 Web 应用程序框架。

“用于将 PHP 放在我想要的地方”并不是判断 Python 是否适合构建 Web 应用程序的语言。

框架(如 PylonsDjangoTurboGears 等)将表示(HTML 模板)与编程和数据库访问分开。 PHP 将 Web 应用程序的所有三个方面混合成一个东西——PHP 语言。

如果您想从 PHP 切换到 Python,您必须执行以下操作。

  1. 从没有成见、没有偏见、什么都没有开始。

  2. 使用有关您所选框架的教程重新开始。完成整个教程,不要将您正在做的任何事情与 PHP 进行比较。

  3. 重新开始使用您选择的框架解决您选择的问题。无需将您正在做的任何事情与 PHP 进行比较即可构建整个内容。

一旦您使用基于 Python 的 Web 框架构建了一些东西(无需与 PHP 进行比较),您就可以退后一步,比较和对比这两个东西。

提出类似 Python - substr 问题的人, java and python equivalent of php's foreach($array as $key => $value) , what is python equivalent to PHP $_SERVER?有时试图将他们的 PHP 知识映射到 Python。不要这样做。

开始使用 Python 网络框架的唯一方法是从头开始。


编辑

所有 Python 网络框架在其模板引擎中都有一些“表示逻辑”功能。这是一个“滑坡”,您可以轻松地将一个简单的模板变成一团糟。显然,简单的 {% if %}{% for %} 结构有助于简化 HTML 模板的条件和重复元素。

除此之外,标签语言应该发挥多大的作用开始变得模糊不清。

在一种极端情况下,我们拥有 PHP/JSP 和相关技术,其中模板引擎可以(并且经常)做所有事情。这变成了一团糟。中间是JinjaMako模板引擎可以做很多事情。另一端是 Django,其中模板引擎尽可能少地避免混合表示和处理逻辑。

关于php - 与 PHP 相比,Python 'flow' 与 HTML 的表现如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311789/

相关文章:

python - 使用 concurrent.futures.ThreadPoolExecutor 时用户界面卡住

python - 使用 numpy 数组的维度作为 if 语句 python

php - 如何将选中的复选框的值保存到数据库

javascript - 使用高级自定义字段插件和转发器字段在 Wordpress 中制作幻灯片

javascript - HTML5 Canvas 图像上的嵌入阴影

php - 省略数组中的列,并在另一个数组中

PHP 解析日期字符串

php - AJAX 联系表单无法发布数据

php - 这个 Mysql select,php 代码有什么问题?

python - 使用 BeautifulSoup 删除 Python 中不需要的标签