2012-09-25 45 views
2

我試圖做一個簡單的金字塔應用程序,而不使用腳手架生成器。該代碼由一個app.py文件組成。沒有包的金字塔靜態資產規範

問題是:因爲app.py不是包的一部分,我如何將一個目錄指定爲靜態資產規範?我知道絕對路徑總是可以使用,但我可以使用相對於app.py文件的路徑嗎?

下似乎正常工作時,應用程序與wsgiref.simple_server運行,但它保證在所有情況下工作(例如,當使用mod_wsgi的或uwsgi部署?)

config.add_static_view('static', 'static') 
+0

儘管我無法用保證來回答您的問題:創建「簡單」腳手架並快速放棄您不需要的所有內容有什麼不對?如果您的應用程序非常簡單,那麼您可以創建一個單一文件應用程序,但我想知道使用簡單腳手架會出現什麼問題。附註:如果你只想快速建立一些東西,我會發現[Flask](http://flask.pocoo.org/)是更好的方法(個人觀點)。 – javex

+0

@javex我的問題不是腳手架本身,而是生成的應用綁定到包名稱的方式。例如。如果我生成MyApp,則在源代碼和配置文件的多個位置引用「myapp」包。 – ramirami

回答

2

pyramid.config API文檔:

path參數是靜態文件所在磁盤上的路徑。這可以是絕對路徑,相對封裝路徑或資產規範。

此外,我已經看過金字塔的來源,它似乎並不取決於以任何方式使用的WSGI。所以從我的角度來看,它似乎總是將它視爲調用腳本的相對路徑。這取決於配置器的放置位置或執行的腳本通常是相同的。

所以我得出結論,它應該與任何WSGI兼容系統一起工作。

+0

你是對的,我試圖在uwsgi下運行該應用程序,並且靜態資產規範的確相對於app.py文件的位置正確解析。無需包裝規格! – ramirami