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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • discokatze

    discokatze

    23 EYLÜL 2009
  • PUSHER

    PUSHER

    11 HAZİRAN 2014