2011-06-17 115 views
0

我想在我的Django views.py文件中使用calendar模塊。如果我讓在該文件的頂部的進口,用我的包進口的其餘部分,並調用模塊上的monthrange功能,我得到如下:python/django導入問題

「功能」有沒有屬性「monthrange」

但是,如果我導入模塊在我的功能,我使用monthrange它工作正常。

這讓我撓了撓頭。有任何想法嗎?

+0

你是否在這兩種情況下以相同的方式運行代碼?我通常檢查的第一件事是你的PYTHONPATH環境變量。 – dicato 2011-06-17 04:10:09

+0

同樣的確切方式。 – 2011-06-17 04:15:50

回答

2

似乎像名稱空間衝突 - 也許'日曆'重新定義了一些地方作爲變量或函數的名稱。

嘗試從模塊頂部的日曆導入monthrange,'monthrange'不太可能與代碼中其他位置的變量或函數衝突。

from calendar import monthrange 
+0

就名稱空間衝突而言,我正在將導入日曆的另一個文件導入到views.py中 - 這可能是導致問題的原因嗎? – 2011-06-17 04:23:04

+0

'from somemodule import *'是邪惡的。 – 2011-06-17 04:35:55

+0

@Michael:是的,這是一個循環依賴問題,而不是命名空間衝突。 – 2011-06-17 08:08:25