0

書いているDjangoアプリに問題があります。そのプロジェクトのプロジェクトリーダーであるユーザーに限定する必要があるビュー*project_detail*があります。別のファイルhelpers.pyで定義されているデコレータを使用してこれを解決しました。エラーが発生した場合は、別のビューエラーが呼び出されます。これがviews.pyhelpers.pyの2つのファイルです

#views.py#
from projectmanagement.helpers import is_projectleader    


@is_projectleader
def project_detail(request,id):
...

def error(request, errormessage)
....
    return render_to_response(...)

--------------------------------------
#helpers.py#
def is_projectleader():
....
if not request.user in project.projectleaders:
    return error(request,errormessage="You are not a projectleader")
....

エラーが定義されていないというエラーが表示されますが、追加すると

from projectmanagement.views import error

エラーが発生しました。エラーをインポートできません。何か提案はありますか?

4

3 に答える 3

1

モジュール自体をインポートし、そのモジュールの属性を参照します。

于 2012-07-18T08:17:38.367 に答える
1

あるモジュールを別のモジュールからインポートしたり、その逆を同時にインポートしたりすることはできません。error関数の定義を に移動するhelpers.pyか、このようなビューの新しいモジュールを作成します。

于 2012-07-18T08:50:55.443 に答える
1

まず、スタック トレース全体とエラー メッセージを書き込んでください。2 つ目 - 1 つのファイル (たとえば、views.py) 内にすべてが含まれている場合はどうなりますか。循環依存のようです - views.py から helpers.py をインポートしています。helpers.py から、views.py をインポートしています。

于 2012-07-18T08:22:47.917 に答える