0

解決できない興味深い/苛立たしい Python の問題が発生しました。次のコードがあります。

def eventtag_with_view_factory(view):
    print "==1", view

    class Cls(models.EventTag):

        # means this class does not make django change the database
        class Meta:
            proxy = True

        print "==2", view

        @permalink
        def get_absolute_url(self):
            print "==3", view
            return ("search_query_view", (),
                {'query': quote('#') + self.name, 'view': view})

    return Cls

これは、異なる絶対 URL を持つ EventTag を返すファクトリ関数です。

これを 1 回呼び出すとすべて正常に動作しますが、2 回呼び出すと (for ループから呼び出されます)、1. と 2. print ステートメントは新しいビューを提供しますが、3. は最初に呼び出された値を使用します。私たちの工場機能。

何か案は?

4

1 に答える 1

0

あなたのコードをもっと見ることなく、私の唯一の推測は、あなたが次のようなものを見ているということです:

于 2012-11-27T16:40:20.130 に答える