2012-04-08 153 views
2

我有一個正在運行的Django站點。我需要添加一項功能才能響應用戶操作調用wget。我應該如何從Django應用程序執行此操作?從Django運行unix命令

回答

5

由於Django是用Python編寫的,因此您可以使用Python的subprocess模塊在其中一個視圖中調用wget。但是,如果您只想下載帶有wget(並且不使用其高級功能之一)的文件,則可以使用urllib2更容易地模擬其行爲。

+0

另外,如果這種操作是昂貴的,你例如,通過使用Celery,必須考慮在請求週期外運行操作。 – 2012-04-09 03:09:44

2

有你爲什麼訴諸UNIX命令,而不是使用像urllib2的理由嗎?

如果有,你總是可以在視圖裏使用這樣的:

from subprocess import call 
call(["wget", "http://myurl.com"]) 

這裏對此事進行了非常全面的線程:

Calling an external command in Python