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_reset
Adlandı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_reset
gö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 TemplateSyntax
hatayı 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_name
Gö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.
context
aradığınız doğru şeyin olduğunu sanmıyorum !