SORU
8 EYLÜL 2009, Salı


Django bir sayfada birden fazla form işlemek için doğru yolu

Şablon bir sayfa iki formları bekliyor. Eğer sadece bir form kullanırsanız, şeyler bu tipik örnekte olduğu gibi güzel

if request.method == 'POST':
    form = AuthorForm(request.POST,)
    if form.is_valid():
        form.save()
        # do something.
else:
    form = AuthorForm()

Eğer birden fazla form ile birlikte çalışmak istiyorum, nasıl bir görünüm oluşturur ve diğer (yani hala istek.tek bir gönderme olduğumu söylerim POST ama ben sadece o oldu onun formu işlemek istiyorum)?


Bu bir çözümdürcevap yere göreexpectedphrasevebannedphrasefarklı formlar için düğmeleri gönder isimleri veexpectedphraseformvebannedphraseformformları vardır.

if request.method == 'POST':
    if 'bannedphrase' in request.POST:
        bannedphraseform = BannedPhraseForm(request.POST, prefix='banned')
        if bannedphraseform.is_valid():
            bannedphraseform.save()
        expectedphraseform = ExpectedPhraseForm(prefix='expected')
    elif 'expectedphrase' in request.POST:
        expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected')
        if expectedphraseform.is_valid():
            expectedphraseform.save() 
        bannedphraseform = BannedPhraseForm(prefix='banned')
else:
    bannedphraseform = BannedPhraseForm(prefix='banned')
    expectedphraseform = ExpectedPhraseForm(prefix='expected')

CEVAP
8 EYLÜL 2009, Salı


Birkaç seçeneğiniz vardır:

  1. İki form için eylem farklı bir URL koymak. O zaman iki farklı görünüm özellikleri iki farklı formları ile uğraşmak zorunda kalırsın.

  2. POST veri değerlerini düğme gönder okuyun. Düğmenin tıklandığını doğruyu söyleyebilirsin: How can I build multiple submit buttons django form?

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • The Dubstep FX

    The Dubstep

    5 Mart 2011
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005