2011-06-09 58 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

相關問題