2011-09-26 3 views
0

を持っていない私が持っている機能:templatetagsファイルでは、なぜ私がメッセージを得るのです:「モジュール」オブジェクトが属性「load_source」

def load_from_file(filepath, expected_class): 

    mod_name, file_ext = os.path.splitext(os.path.split(filepath)[-1]) 
    py_mod = imp.load_source(mod_name, filepath) 

をし、それがokです。

しかし、私は/私のビューに、この関数をコピー&ペーストするとき、私はエラーを取得:これが動作しないのはなぜ

import os, imp 

def get_module(request, position): 
    [...] 
    imod = load_from_file(settings.PROJECT_ROOT + '/core/manager/modules/' + mod.type.fileview + '.py', 'ModuleManager') 
    [...] 

def load_from_file(filepath, expected_class): 
    [...] 

'module' object has no attribute 'load_source' 

私の例ビューを?

+0

funcを呼び出す前に両方のモジュールでimpを実行して、別のものが得られるかどうかを確認してください –

+0

はい、私自身のモジュールimp – Nips

答えて

1

impという別のモジュールがあります。

名前を変更するか、標準ライブラリモジュールよりsys.pathの後の場所に移動するか、またはsys.pathから完全に外します。sys.pathを再配置します。

ほとんどの場合、ビューと同じディレクトリにあります。その場合、最も簡単なことはおそらく、モジュールがimpをインポートするディレクトリに移動するか、名前を変更することです。

関連する問題