Django, exclude a context processor in a view
You could subclass RequestContext in django.template.context and redefine its __init__ method. You can then use this modified RequestContext in those particular views. The __init__ of RequestContext currently looks like this:

def __init__(self, request, dict=None, processors=None, current_app=None, use_l10n=None):
        Context.__init__(self, dict, current_app=current_app, use_l10n=use_l10n)
        if processors is None:
            processors = ()
        else:
            processors = tuple(processors)
        for processor in get_standard_processors() + processors:
            self.update(processor(request))

In here, get_standard_processors() returns the context processors defined in your settings. Before calling a context processor (last line of the above code), you could add a check that determines which processors need to be used and which ones need to be skipped.
I have a website with a menu. To generate the menu, I need some queries in the database. So I created a context processor to do it in all my views.
Some of the views I have are actually forms. I get them using ajax and display them with jquery ui dialog, when my users click on some buttons.
I can't remove all context processors for those pretty complex forms, I need the auth, static and il8n context processors in particular.
But I don't want to make the menu based queries in the database to display those forms.
Is there a way to exclude a context processor in a view ?
I tried to put a variable in "request.session" in the view, then remove it and return an empty dictionary in my context processor. But it's pretty bad and there is possible concurrency issues.
I can also parse the url in "request" in my context processor and return an empty dictionary, but it sounds like an hack again.
Any idea or advice ?
Thanks,