【问题标题】:Python and web development | Mako - a lot of questions [closed]Python 和 Web 开发 | Mako - 很多问题[关闭]
【发布时间】:2012-10-05 17:43:19
【问题描述】:

不是来自 MVC 背景,而是纯粹使用 php,最大的挑战之一是掌握框架和 MVC 意识形态。虽然我确信许多人坚持将 MCV 作为推送代码的标准方式,但我缺乏对框架的基本介绍,而且虽然它们上手似乎也很乏味,但我的目标纯粹是在 html 文档中编写一些 Python 代码。

乍一看,Mako 似乎是解决问题的方法,它允许我将 Python 代码编写成 html,但乍一看,它似乎需要更多的工作,而不仅仅是“那个”。

我在任何地方都找不到答案是“如何从 Mako 开始”的整个方面。

查看 Mako 网站,出现以下问题:

<%inherit file="base.html"/>
<%
rows = [[v for v in range(0,10)] for row in range(0,10)]
%>
<table>
% for row in rows:
    ${makerow(row)}
% endfor
</table>

<%def name="makerow(row)">
<tr>
% for name in row:
    <td>${name}</td>\
% endfor
</tr>
</%def>

我再次看到整个模板意识形态 (yuk) 出现了,但我只想将 Python 代码写入我的 html 中。所以我的一些问题是:

  • 安装 Mako 后,我可以开始将 Python 代码放入 HTML 中吗?
  • 如果不是,那么我假设我需要将上面的示例代码放入一个 .py 文件并将 base.html 放在同一目录中?还是我将 .py 文件放在其他地方?
  • 在我在 html 文件中包含对 .py 文件(或 .mako 文件或其他任何名称)的类似调用时,这项工作是否会像 CSS 一样工作。
  • 既然听起来很框架,我是否需要将 html 文件和 .py/.mako 放在同一目录中,还是必须将它们分开?
  • 编辑:我不妨问问我是否可以调用我的扩展 .psp(即使它不是 mod_python)。

我知道很多人会说这很愚蠢,还有更好的方法可以做到这一点,我犯了一个大错误。但显然没有菜鸟教程可以更好地解释这一点 细节,因此按照我认为合适的方式去做,即。将 Python 代码放在一个文件中并完成它。

我也看过这个 mod_python,但因为它似乎是一个旧的解决方案,我实际上想跳过那个。但是,我希望有一个“新”的解决方案可以将 Python 嵌入 HTML。

附言。我知道所有的框架布道者都会让我兴奋,但目的不是争论如何编写代码。由于在 Python、Django 上都找不到新手/循序渐进的教程 或 Makos 网站以及 Pylons、Pyramid 等,因此必须假设任何想要这样做的人都知道他们的框架实现方法。但我不这样做,所以我只想将 Python 代码放入 HTML 中,而不是花费/浪费时间学习 Python 已经应该首先完美解决的问题。

PPS。菜鸟,我的意思是我很想知道诸如此类的基础知识。把这段代码放入这种类型的文件中,然后把那个文件放在那里。然后拿走这个文件并这样做。我只是在任何地方都找不到这个。这就像一个公开的秘密.....

【问题讨论】:

标签: python django python-2.7 web-deployment mako


【解决方案1】:

首先,请了解与 PHP(一种专门用于Web 开发的定制开发语言不同,Python 是一种通用编程语言。使用 Python,您可以开发 Windows 应用程序、Mac 应用程序、服务器端脚本、移动应用程序、服务器、网络客户端——通用编程允许您做的所有事情。就像 Java 或 C#。

因此,有多种方法可以在 Python 中进行 Web 开发。认为“PHP 是 Web 开发”是错误的,认为“Python Web 开发将像 PHP Web 开发一样”也是错误的。

最后,请记住,由于 PHP 是专门为 Web 开发而设计的,它“隐藏”了许多杂乱无章的细节,这些细节需要编写代码,这些代码需要位于 Web 服务器后面,并严格地处理请求和返回响应格式。

要使用 Python 进行 Web 开发,您首先需要学习 Python。这与 PHP 不同。你在学习 PHP 时学习 Web 开发(因为这是它的主要目的)。一旦你学会了 Python,你就可以开发各种应用程序;并且许多 Python 开发人员并不为 Web 开发。

由于在任一 Python 上都找不到新手/分步教程, Djangos 或 Makos 网站以及 Pylons、Pyramid 等 因此必须假设任何想要这样做的人都知道他们的 框架实现方法的心。

Mako 是一种模板语言(如 Smarty)。 “独立”使用它是没有意义的,就像 Smarty 没有 PHP 是无用的一样。

所有网络框架都有初学者指南。有些比其他更好。 Django 拥有最好的文档之一。开始here。要使用任何框架,您需要知道它们公开的方法。就像你需要知道 PHP 的 mysql_* 方法才能与 MySQL 交互一样。

您的其余问题源于 Python 与 PHP 不同。因此,您对 PHP 的期望是在 Python 生态系统中找不到的。

【讨论】:

  • 我使用 Python 已经有一段时间了,我想进入 Web 开发领域并利用 Python 的“力量”来实现这一目标。您是说根本没有办法将 Python 直接编码到 Web 中吗?或者至少是一些非常轻量级的解决方案。这就是为什么我提到Mako。就我个人而言,我想远离 Django 及其超级复杂的基础设施。
  • 使用Flask
  • Flask是一个框架,我要找的是嵌入式Python,没有MVC,没有框架,没有中间人。
猜你喜欢
  • 2011-03-03
  • 2016-09-10
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多