2012-03-07 13 views
1

EDIT:このエラーの根拠となるTemplateViewをサブクラス化する正しい方法について私は完全に誤解しています。私はgetメソッドを取り除いてしまいました - 私はTemplateViewに持っていけないべきです。Django get_context_dataはMyCustomTemplateViewで呼び出されませんか?

オリジナル質問:

私はTemplateViewのサブクラスを作成しました:

class MyTemplateView(TemplateView): 

    def get_context_data(self,*args, **kwargs): 
    context = super(MyTemplateView, self).get_context_data(*args, **kwargs) 
    context['current_business_view'] = self.kwargs.get('user_business_id') 
    return context 

すべての私の見解はMyTemplateViewをサブクラス化。

私はget_context_dataが呼び出されることを期待していましたが、決して呼び出されないように見えます - ここでは何が分かりませんか?

+0

urls.pyでこのビューの経路がどのように見えますか? – yedpodtrzitko

+0

私は、私のエラーの根拠であるTemplateViewの使い方を完全に誤解しています。それはすべてのように動作する必要があります、私は間違った方法を取り除く。 –

+0

この問題を抱えている人は、 'get_context_data'メソッドは、ターゲットURLを扱うビュークラスに対してのみ呼び出されます。あなたがこの問題を抱えているなら、Sjaakはあなたの 'urls.py'設定をチェックして、希望のURLが別の予期しないビューを指していないことを確認してください(twas私に起こったこと、 )。 – ecoe

答えて

1

私は関数が呼び出されたと思いますが、user_business_idの値はNoneです。

Pythonデバッガでデバッグを試してください。

これで、python manage.py runserverを実行すると、サーバーはブレークポイントで停止します。 印刷コンテキストを入力して、コンテキスト内の内容を確認できます。

これが役に立ちます。

+0

ありがとう、私はTemplateViewの使用を完全に誤解しました - オープニングポストの私のコメントを見てください。 –