2011-06-09 65 views
2

我为一家小型科技初创公司工作,我们的主站点基于CMS Drupal,它是一个基于PHP的CMS。但是,我知道一些Python,并且希望开发Web应用程序以与网站集成并允许用户与它们进行交互。是否有可能在Python中嵌入Python?

我该怎么做呢?有没有人有任何经验或知识?任何特定的模块/脚本/等,允许使用Python或从PHP或Drupal调用Python?

+2

你可能会更好的学习一点PHP。 – ceejayoz 2011-06-09 01:30:00

+0

哈哈,Ceejayoz。我最终会,但我正在努力加快步伐。我为自己的项目需要Python(所以我一直在自学),但是一旦我的老板发现我甚至没有什么编程知识,他一直在鼓励我为项目开展项目。我试图尽快实现这一点,而无需马上学习PHP。 – 2011-06-09 01:34:54

回答

2

有几种不同的方式做整合的Drupal外部应用程序,但您最好的选择是在Drupal中安装services module,并通过HTTP从您的Python应用程序拨打电话,就像您将与远程服务器交互一样。

其他一些选项:

  • 直接交互与Drupal的数据库,而风险作为Drupal的数据库结构可以与模块升级,甚至配置更改显著改变。
  • 将Python应用程序放置在Drupal页面的iframe中,为您提供Drupal的设计,尽管没有功能集成。
  • 使用JavaScript作为Drupal和Python之间的客户端中间人。
  • 使用命令行作为Drupal和Python之间的服务器端中间人。 Drush会很有用。
+0

谢谢,这是相当多的选择! – 2011-06-09 01:58:53

4

如果您正在开发一个Web应用程序,那么您无法阻止您使用Python并使其可以从drupal未使用的子域或路径进行访问,只需让Web服务器指向它即可。例如:

http://mainsite.com/ <- drupal 
http://app.mainsite.com <- python web app 
http://mainsite.com/python/ <- python web app 

这对大多数Web服务器来说是相当直接的。 Django可能是这特别适合,它有一个很好的功能,can inspect live databases, and generate models for you

python manage.py inspect.db > models.py 

它可以让你从Python的现有数据库,一个不错的ORM交互。

如果你需要从字面上PHP页面调用Python,您可以使用zeromq快速IPC或TCP通信,或者构建一个简单的REST API等

+0

问题是计划的Web应用程序是否真的需要与Drupal管理的内容进行交互,如果是,以何种方式和程度进行交互。 – 2011-06-09 03:05:47

相关问题