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

  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006