Якщо ви подивитеся на джерела для django.contrib.auth.views.password_reset, ви побачите, що воно використовується RequestContext. Підсумок полягає в тому, що ви можете використовувати контекстні процесори, щоб змінити контекст, який може дозволяти вводити потрібну вам інформацію.
Список b має хороший вступ до процесорів контексту .
Редагувати (я, мабуть, заплутався в тому, що було власне питання):
Ви помітите, що password_resetприймає іменований параметр під назвою 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):
Перевірте reset_reset для отримання додаткової інформації.
... таким чином, за допомогою urls.py типу:
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буде викликано для URL-адрес, що відповідають '/accounts/password/reset'аргументу ключового слова template_name = 'my_templates/password_reset.html'.
Інакше вам не потрібно password_resetвказувати жодний контекст, оскільки представлення доглядає за собою. Якщо ви хочете побачити, який у вас доступний контекст, ви можете викликати TemplateSyntaxпомилку і, переглянувши через стежку стека, знайти кадр з локальною змінною context. Якщо ви хочете змінити контекст, то, можливо, те, що я сказав вище про процесори контексту, це, мабуть, шлях.
Підсумовуючи: що вам потрібно зробити, щоб використовувати власний шаблон? Надайте template_nameаргумент ключового слова перегляду під час його виклику. Ви можете надати аргументи ключових слів переглядам, включивши словник як третій член кортежу шаблону URL.
contextце правильна річ, яку ви шукаєте!