Se dai un'occhiata ai sorgenti per django.contrib.auth.views.password_reset vedrai che usa RequestContext. Il risultato è che puoi utilizzare i processori di contesto per modificare il contesto che potrebbe consentire di iniettare le informazioni di cui hai bisogno.
La b-list ha una buona introduzione ai processori di contesto .
Modifica (mi sembra di essere stato confuso su quale fosse la vera domanda):
Noterai che password_resetaccetta un parametro denominato chiamato 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):
Controlla password_reset per ulteriori informazioni.
... quindi, con un urls.py come:
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_resetverrà chiamato per gli URL che corrispondono '/accounts/password/reset'all'argomento della parola chiave template_name = 'my_templates/password_reset.html'.
In caso contrario, non è necessario fornire alcun contesto poiché la password_resetvista si prende cura di se stessa. Se vuoi vedere quale contesto hai a disposizione, puoi attivare un TemplateSyntaxerrore e guardare attraverso la traccia dello stack trovare il frame con una variabile locale denominata context. Se vuoi modificare il contesto, quello che ho detto sopra sui processori di contesto è probabilmente la strada da percorrere.
In sintesi: cosa devi fare per utilizzare il tuo modello? Fornire un template_nameargomento parola chiave alla vista quando viene chiamata. È possibile fornire argomenti di parole chiave alle viste includendo un dizionario come terzo membro di una tupla di pattern URL.
contextsia la cosa giusta che stai cercando!