我對不同的web框架(Django,web.py,Pyramid和CherryPy)有一些經驗,我想知道哪一個更容易,希望更清晰實現路線調度基於所述「接受」報頭和HTTP方法例如一個不同的「觀看/處理程序」:基於Python web框架中Accept頭的路由請求
Accept: text/html
POST /post/
所以該請求被路由到:
Accept: application/json
POST /post/
比處理不同MIME「application/json」和H的相應處理程序的特定視圖TTP方法「POST」。
我知道如何在CherryPy中實現類似的功能,但是我沒有將CherryPy工具用於請求的內部重定向,因爲我直接調用具體的方法而不是從調度程序自動調用。另一種選擇是從零開始實施全新的調度程序,但這是最後一個選項。
我知道在/post.json
或/post/.json
之類的URL中使用擴展名的替代方法,但是我期望保持相同的url?
這個問題很難一次回答所有的框架,對我來說這太籠統了。對於金字塔,使用[查看謂詞](http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/viewconfig.html#predicate-arguments),註冊兩個視圖,每個視圖使用不同的accept謂詞。 –
@MartijnPieters是的,我認爲你是對的,它太寬泛:(但你的選擇似乎是一個很好的方法來做到這一點,我並沒有期待所有框架的答案只是在其中之一的方式來做到這一點 – cyraxjoe
好的,如果這對你來說已經足夠了,那就解決吧。:-) –