Django RequestContext
O RequestContext do django serve para popular o template com variavés padrões, ou seja váriaveis comum aos templates. Quando você usar o RequestContext como parâmetro no render_to_response de sua view, ele usará os chamados context_processor setados na váriavel TEMPLATE_CONTEXT_PROCESSOR do settings.py do projeto(por padrão esta váriavel não esta no settings), funções que retornão um dicionário de dados.
TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", )
Para criar um contex_processor é só criar uma função da seguinte maneira, você pode criar um arquivo context_processor.py na pasta de sua app.
def teste_contex_processor(request): user = request.user return { 'user':user, 'ip_address': request.META['REMOTE_ADDR'] }
e colocar o context_processor criado no settings
TEMPLATE_CONTEXT_PROCESSORS = ( ..., "meuprojeto.app.context_processor.teste_context_processor", )
Para usar o RequestContext no render_to_response, basta fazer o seguinte:
...
return render_to_response(
'templates/index.html',
dicionario_de_dados,
context_instance=RequestContext(request)
)
*lembrando que você tem que passar request como parâmetro.

