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

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • Jana Williams

    Jana William

    17 AĞUSTOS 2011