Wenn Sie sich die Quellen für django.contrib.auth.views.password_reset ansehen, werden Sie feststellen , dass es verwendet wird RequestContext
. Das Ergebnis ist, dass Sie Kontextprozessoren verwenden können, um den Kontext zu ändern, sodass Sie möglicherweise die benötigten Informationen einfügen können.
Die B-Liste bietet eine gute Einführung in Kontextprozessoren .
Bearbeiten (Ich bin anscheinend verwirrt darüber, was die eigentliche Frage war):
Sie werden feststellen, dass password_reset
ein benannter Parameter namens 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):
Überprüfen Sie password_reset auf weitere Informationen.
... also mit einer urls.py wie:
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
wird für URLs aufgerufen, die '/accounts/password/reset'
mit dem Schlüsselwortargument übereinstimmen template_name = 'my_templates/password_reset.html'
.
Andernfalls müssen Sie keinen Kontext angeben, da sich die password_reset
Ansicht um sich selbst kümmert. Wenn Sie sehen möchten, welchen Kontext Sie zur Verfügung haben, können Sie einen TemplateSyntax
Fehler auslösen und durch die Stapelverfolgung den Frame mit einer lokalen Variablen namens suchen context
. Wenn Sie den Kontext ändern möchten, ist das, was ich oben über Kontextprozessoren gesagt habe, wahrscheinlich der richtige Weg.
Zusammenfassend: Was müssen Sie tun, um Ihre eigene Vorlage zu verwenden? Geben Sie template_name
der Ansicht beim Aufruf ein Schlüsselwortargument an. Sie können Ansichten Schlüsselwortargumente bereitstellen, indem Sie ein Wörterbuch als drittes Mitglied eines URL-Mustertupels einfügen.
context
es das Richtige ist, wonach Sie suchen!