Se você der uma olhada nas fontes de django.contrib.auth.views.password_reset você verá que ele usa RequestContext
. O resultado é que você pode usar Processadores de Contexto para modificar o contexto, o que pode permitir que você injete as informações de que precisa.
A lista b tem uma boa introdução aos processadores de contexto .
Editar (parece que fiquei confuso sobre qual era a questão real):
Você notará que password_reset
leva um parâmetro nomeado chamado template_name
:
def password_reset(request, is_admin_site=False,
template_name='registration/password_reset_form.html',
email_template_name='registration/password_reset_email.html',
password_reset_form=PasswordResetForm,
token_generator=default_token_generator,
post_reset_redirect=None):
Verifique password_reset para mais informações.
... assim, com um urls.py como:
from django.conf.urls.defaults import *
from django.contrib.auth.views import password_reset
urlpatterns = patterns('',
(r'^/accounts/password/reset/$', password_reset, {'template_name': 'my_templates/password_reset.html'}),
...
)
django.contrib.auth.views.password_reset
será chamado para URLs correspondentes '/accounts/password/reset'
ao argumento de palavra-chave template_name = 'my_templates/password_reset.html'
.
Caso contrário, você não precisa fornecer nenhum contexto, pois a password_reset
visualização se auto-administra. Se quiser ver o contexto disponível, você pode acionar um TemplateSyntax
erro e examinar o rastreamento da pilha, localizar o quadro com uma variável local chamada context
. Se você deseja modificar o contexto, então o que eu disse acima sobre processadores de contexto é provavelmente o caminho a percorrer.
Em resumo: o que você precisa fazer para usar seu próprio modelo? Fornece um template_name
argumento de palavra - chave para a exibição quando ela é chamada. Você pode fornecer argumentos de palavra-chave para visualizações incluindo um dicionário como o terceiro membro de uma tupla de padrão de URL.
context
é a coisa certa que você está procurando!