【问题标题】:Integrate Python app into PHP site将 Python 应用程序集成到 PHP 站点中
【发布时间】:2010-12-26 20:08:16
【问题描述】:

这听起来可能很疯狂,但仍然......

对于我们改造后的项目网站,我们希望将 Trac(作为代码浏览器、开发者 wiki 和问题跟踪器)集成到网站设计中。当然,这很困难,因为 Trac 是用 Python 编写的,而我们的网站是用 PHP 编写的。这里有人知道如何将页眉和页脚 (PHP) 集成到 Trac 模板中(最好不要从命令行调用一个 - 或者更确切地说是两个用于页眉和页脚 - PHP 进程)?

【问题讨论】:

  • 使用模板语言 trac 使用的 Genshi 中的命令应该可以包含外部文件,但我从未弄清楚如何。我只包括一个本地文件(没有 http://),但没有进一步。期待看到好的答案。
  • 谢谢你的回答,伙计们。我会看看会发生什么,然后接受适当的答案...... ;)

标签: php python integration trac


【解决方案1】:

最好的选择可能是使用python(重新)编写页眉和页脚。

如果页眉和页脚是相对静态的,您也可以使用 php 生成一次(或每 x 分钟一次)并从文件系统中包含它们。 (您可能已经考虑过这一点并放弃了这个想法,因为您的网站过于动态而无法使用此选项?)

虽然我并不真正推荐它,但您也可以使用某种形式的 AJAX 来加载页面的某些部分,并且没有什么可以阻止您从基于 php 的系统中加载这些内容。这可以使所有部分保持动态。您的页面在加载时可能看起来很难看,而且您现在在服务器上产生的点击量比需要的多,但如果它不是一个大网站,这可能是一个大网站。

警告:如果您在两个系统上都有用户登录,您可能会遇到问题,即人们只登录到您网站的一半。

【讨论】:

  • 我们已经处理了用户集成,是的(我们基本上不集成两者)。页眉和页脚的动态是什么?嗯...页脚是静态的,但使用 PHP 生成(以便可以缓存)。标题是动态的:它显示用户是否在网站上登录(这不是必需的,好吧)和语言(不适用于 Trac)。
  • 如果您只想显示用户是否登录,我会制作页眉和页脚的静态副本,并替换显示用户是否通过 AJAX 调用登录的部分。
【解决方案2】:

抽象是你的朋友。

如果可能的话,使用简单的模板语言在页眉和页脚中将原始 HTML 与 PHP 隔离,并为您的模板语言编写 Python 和 PHP 接口。或者,重用其他人所做的工作。 This chart 表明 Template Attribute Language (TAL) 支持 Python 和 PHP5。

【讨论】:

  • +1 这是个好主意。但是,标头脚本包含一些其他(PHP)内容,用于获取用户对象等以了解要显示哪个链接等等......这使得它有点困难。还是我忘记了什么?
【解决方案3】:

您的 Python 代码将有权访问您用户的 cookie。最好使用模板,但如果您没有可用的模板(或者页眉/页脚非常小,或其他),您可以使用已经存在的 cookie 将 PHP 页眉和页脚代码简单地移植到 Python查询数据库或您需要做的任何事情。

如果您想保留用于登录、注册和其他任何可能在 PHP 版本中的链接,只需链接到 PHP 端,然后在 PHP 完成工作后重定向回 Trac。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 2020-03-24
    相关资源
    最近更新 更多