Django.contrib.auth.views.password_reset kaynaklarına bakarsanız, kullandığını göreceksiniz RequestContext. Sonuç olarak, ihtiyaç duyduğunuz bilgileri enjekte etmenize olanak tanıyabilecek bağlamı değiştirmek için Bağlam İşlemcileri kullanabilirsiniz.
B listesi, bağlam işlemcilerine iyi bir giriş içerir .
Düzenleme (Asıl sorunun ne olduğu konusunda kafam karışmış görünüyor):
password_resetAdlandırılmış bir parametre aldığını fark edeceksiniz 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):
Daha fazla bilgi için password_reset'i kontrol edin .
... böylelikle urls.py gibi:
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'/accounts/password/reset'anahtar kelime bağımsız değişkeniyle eşleşen URL'ler için çağrılacaktır template_name = 'my_templates/password_reset.html'.
Aksi takdirde, password_resetgörünüm kendi kendine bakacağından herhangi bir bağlam sağlamanıza gerek yoktur . Hangi içeriğe sahip olduğunuzu görmek istiyorsanız, bir TemplateSyntaxhatayı tetikleyebilir ve yığın izlemesine bakabilirsiniz adında yerel bir değişkenle çerçeveyi buluncontext . Bağlamı değiştirmek istiyorsanız, bağlam işlemcileri hakkında yukarıda söylediklerim muhtemelen doğru yoldur.
Özetle: Kendi şablonunuzu kullanmak için ne yapmanız gerekiyor? template_nameGörünüme çağrıldığında bir anahtar kelime argümanı sağlayın . URL model demetinin üçüncü üyesi olarak bir sözlük ekleyerek görünümlere anahtar kelime argümanları sağlayabilirsiniz.
contextaradığınız doğru şeyin olduğunu sanmıyorum !