0

web2py アプリケーションのコントローラ コードに外部モジュールをインポートしようとしています。インポートしているモジュールは myapp/modules にあり、正常にインポートされているようです。ただし、そこで定義されている関数を呼び出すことはできません。次のエラーが発生します 「モジュール」オブジェクトには属性「testfunc」がありません

私はこのようにインポートしています:

import json_utils as u

そして、次のように呼び出します。

u.testfunc()

ここで明らかな何かが欠けていますか?ファイルがリロードされていない場合に備えて、サーバーの停止/起動を試みました。

乾杯

編集: json_utils.py ファイル全体は次のとおりです。

def testfunc():
    return 3

def testfunc2():
    # some stuff
    return 5
4

3 に答える 3

1

問題は web2py が外部モジュールをキャッシュしていることです。サーバーを停止/起動するだけでは不十分です。すべてを強制終了して再起動する必要があります。

于 2013-05-11T13:02:28.977 に答える
0

モジュール json_utils には組み込み関数 testfunc() がありません

たとえば、私がそうするなら

import random
u.nonfunction()

そして、私はそれを実行します AttributeError: 'module' object has no attribute 'nonfunction'

しかし、それが持っている機能を実行すると

import random
random = u.randrange(1,10)
print(random)

正常に動作します

于 2013-05-11T09:30:09.937 に答える