2011-03-10 37 views
0

這是代碼:是它在我的老闆的Django的代碼足夠的必要

params = dict(request.REQUEST.items()) 

,但我認爲這是沒有必要的,因爲我覺得request.REQUEST必須快譯通,

所以應該是:

params = request.REQUEST 

我是對嗎?

感謝

+2

也許他想創建一個原始字典值的副本? – jujule 2011-03-10 09:19:49

+0

單憑這一點還不足以說明問題。我們需要知道'params'發生了什麼。 – 2011-03-10 09:23:49

回答

2

的文檔狀態:

爲了方便起見,一個類字典 對象首先搜索POST,然後 GET。受PHP的$ _REQUEST啓發。

(強調)

HttpRequest.REQUEST是一個類似於字典的項目。這不是一本字典。您的老闆可能希望字典操作不在字典上,比如REQUEST對象。

+0

所有字典方法都可用於類似字典的REQUEST對象,但其中一些方法的行爲有點不同。 – Fil 2011-03-10 10:37:54

0

不是它的子類,django.http.QueryDict 見here

但你說得對。有一個item()方法。

0

如果此代碼是否必要取決於周圍的代碼,則沒有足夠的信息。

但一般這樣的代碼:

params = dict(request.REQUEST.items()) 

不是

params = request.REQUEST 
0

最有可能他想使對象的副本,如果在後面的代碼存在,這可能是有用的等價是這個新字典的修改。

這是很難說如何被在代碼中後期使用,但如果這只是作爲一個代碼的快捷方式(不使用長表所有的時間),那麼你的等效代碼是好的。

相關問題