SORU
23 Aralık 2008, Salı


Nasıl kendi şablonları ile parola sıfırlama/değiştirme görünümler yerleşik kullanırım

Örneğin bu bağlamda benim şablon dosya adı django.contrib.auth.views.password_reset url '^/accounts/password/reset/$' bulamıyorum ama daha fazla içerik detayları göndermek gerekiyor.

Tam olarak ne şifre sıfırlama ve değiştirme görünümler her biri için eklemeye bilmem gerek.

CEVAP
23 Aralık 2008, Salı


django.contrib.auth.views.password_reset kaynağına bir göz atacak olursak RequestContext kullandığı görürsünüz. Sonuç olarak, Bağlam İşlemciler gereken bilgileri enjekte etmek için izin verebilir kapsamında değiştirmek için kullanabilirsiniz.

B-liste introduction to context processors Bir iyi vardır.

Düzenle (asıl soru ne olduğu konusunda kafası karışmış gibi oldum):

password_reset adında bir parametre template_name adlı aldığını fark edeceksiniz:

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):

... bu nedenle, bir 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 URL anahtar kelime değişken template_name = 'my_templates/password_reset.html' 10 *eşleştirme olarak adlandırılır.

Aksi takdirde, password_reset görünüm kendisini önemser gibi herhangi bir bağlam sağlamak için gerek yok. Eğer mevcut ne görmek istiyorsanız, TemplateSyntax bir hata tetiklemek ve izleme yerel bir değişken ile çerçeve bulmak yığını context adlı bakabilirsin. Eğer içeriği değiştirmek istiyorsanız, o zaman hakkında içerik işlemciler yukarıda söylediklerim muhtemelen gitmek yoludur.

Özet olarak: senin için kendi şablonu kullanmak için ne yapmak gerekiyor? Çağrıldığında görünüm template_name anahtar kelime bir argüman sağlar. URL desen bir başlığın üçüncü üyesi olarak bir sözlük ekleyerek görünümleri için anahtar kelime argümanlar tedarik edebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • grickle

    grickle

    22 AĞUSTOS 2006
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • Vintendo Power

    Vintendo Pow

    2 Ocak 2007