2013-03-05 39 views
5

Şu anda Django 1.5 ile "Sınıf Tabanlı Görünümler" bölümüne girmeye çalışıyorum.Django'da CBV'lerin Tasarımı

Tasarım açısından bakıldığında, formundan gelen ve basit bir FormView biçimindeki verileri işlemek için mantığı nereye koyacağımı merak ediyorum.

Tüm form doğrulama kodunun form_valid() yöntemine geldiğini biliyorum. Ancak formun verilerini işleyen şeyleri nereye koyacağız. Bir şekilde form_valid() yöntemine çok fazla mantık koymanın uygunsuz olduğunu okudum.

get(), post(), get_context_data(), head(), vb. Yöntemleri ... hangi durumda kullanmalıyım?

+0

'dan oluşturduğunuz diğer yöntemlere başvurabilirsiniz. Https://docs.djangoproject.com/en/dev/topics/class-based-views/jenerik düzenleme /? –

+0

jep! Ama bu bana çok yardımcı olmadı! – Jurudocs

cevap

1
  1. Form doğrulaması, veri temizleme, vb öyle bir geçersiz kılınmış form_valid yöntemle

gitmeli temiz yöntemlerde formu sınıfıyla geçerli bir formun

  • İşleme gidiyor! Kullanım durumunuz daha karmaşıksa, form_valid ...

  • 1

    Bu soruya herhangi bir cevap tartışmaya açıktır. Yani, görüşler sadece Python sınıflarıdır, bu yüzden , öğelerini uygun şekilde özelleştirmek için herhangi bir yöntemin üzerine yazabilirsiniz.

    Ayrıca, veri işlemeyi yürütmek için sınıfınızda ekstra bir yöntem oluşturmak mükemmel bir şekilde okunabilir.