2011-11-07 14 views

答えて

2

関数参照を渡すだけの理由はありますか?

def my_func(): 
    # ... 

urlpatterns = patterns('', 
    (r'^foo/$', direct_to_template, { 
     'template': 'foo.html', 
     'filter_func': my_func, 
    }), 
) 

編集:ラット、won't work with generic viewsこと:辞書内の値が呼び出し可能である場合

は、汎用ビューはテンプレートのレンダリング直前にそのオブジェクトを呼び出します。

、それは非常にきれいではないのですけれどもあなたは、おそらく、辞書にあなたの関数を貼り付けることで、この問題を回避できます。

def my_func(): 
    # ... 

urlpatterns = patterns('', 
    (r'^foo/$', direct_to_template, { 
     'template': 'foo.html', 
     'filter_funcs': { 'my_func': my_func }, 
    }), 
) 

私は一般的な見解をしようとして起動するほぼすべての時間が何かを行うことを言わなければなりません私は必要なことをする4行のカスタムビューを書く前にかなりの時間を無駄にする傾向があります。

+0

私はextra_context = {'f':f2}を試してみると、 "f2()はちょうど1つの引数(与えられた0)"を返します。 – Mark

+0

ああ、あなたが使っていなくても...ああ、私は参照してください。編集を参照してください。 – nrabinowitz

+0

はい。 f2は関数です。私はextra_context = {'f':f2}をセットし、それが参照の代わりにf2を呼び出そうとしていると思ったかのようにそのエラーメッセージを返します。あなたの例では、my_funcを呼び出すのではなく、パラメータを取らないと考えているかどうか確信していますか? – Mark

関連する問題