1

テンプレートで条件付き拡張を作成しようとしています:

{% extends request.is_ajax|yesno:"base_ajax.html,base.html" %}

私からしてみれば :

def new(request):
    snippet_form = SnippetForm()
    return render_to_response('new.html', {
        'snippet_form': snippet_form,
    }, context_instance=RequestContext(request))

しかし、request.is_ajax は常に false を返します。

ビューで request.is_ajax を呼び出すと、適切な値が含まれています。

def new(request):
    snippet_form = SnippetForm()
    ajax = request.is_ajax()
    return render_to_response('new.html', {
        'snippet_form': snippet_form,
        'ajax': ajax
    }, context_instance=RequestContext(request))

そして私のテンプレートで:

{% extends ajax|yesno:"base_ajax.html,base.html" %}

それは機能しますが、最初のソリューションを使用することをお勧めします!

何か案は ?

(私はjqueryロード機能を使用しています)

4

1 に答える 1

2

「リクエスト」コンテキスト プロセッサを有効にしていますか? TEMPLATE_CONTEXT_PROCESSORS というリストには、次の文字列が含まれています。

django.core.context_processors.request

デフォルトではオフになっています。

于 2012-10-21T09:18:47.283 に答える