0

私は見解を持っています:

@add_value
my_view(request):
   render_to_response('template.html', {'var1' : 'value'})

およびデコレータ:

def add_value():

    def decorator(view_func):
        def _decorator(request, *args, **kwargs):
            response = view_func(request, *args, **kwargs)
            #what code can I put in here to add { 'var2' : 'value' } to render_to_response context?

デコレータにキー ペアを追加してもらいたいので、最終的な render_to_response は次のようになります。

render_to_response('template.html', {'var1 : 'value', 'var2' : 'value'})

誰もこれを行う方法を知っていますか?

4

1 に答える 1

4

HttpResponseビューはすでに既製のオブジェクトを返しているため、あなたがやろうとしているようにはできません。しかし、複数のビューのコンテキストに何かを追加したい場合は、コンテキスト プロセッサが探しているものかもしれません。

def add_value_context_processor(request):
    return {'var': value}

そして、あなたの!に追加してTEMPLATE_CONTEXT_PROCESSORSください。settings.py

于 2013-06-22T20:10:55.133 に答える