Djangoフォームセットが正しく処理されていません

radhika

学校間の大会でさまざまなイベントにチームを登録するためのWebアプリケーションを作成しています。

イベントへの登録は、Djangoフォームセットで構成されるWebページを介して行われます。

私の問題は、フォームセットのすべての要素がWebページに表示されていても、[送信]ボタンをクリックしても、関連するデータがまったく処理されないことです。

また、で与えられるようBaseEventTeamFormset()forms.py、と呼ばれる第三のテキストフィールドがあるはずmem3際、フォームでevent.labelクイズです。ただし、この3番目のフィールドはWebページに表示されません。

ここに必要なファイルを含めました。このエラーを修正するのを手伝ってください。

models.py

from django.db import models
from django.contrib.auth.models import User


class School(models.Model):

    user = models.OneToOneField(User)
    name = models.CharField('Name of school', max_length=30)
    currCap = models.IntegerField('Current Capital')

    def __unicode__(self):
        return self.name


class Event(models.Model):

    EVENTS = (
    ('Quiz', 'Quizzing'),
    ('Design', 'Design'),
    ('Robot', 'Robotics'),
    ('Prog', 'Programming'),
    ('Photo', 'Photography'),
#   ('SurEven', 'Surprise Event'),
)

    memDict = {
    'Quiz': 3,
    'Design': 2,
    'Robot': 2,
    'Prog': 2,
    'Photo': 1,
#   'SurEven': 2,   
}

    name = models.CharField('Name of event', max_length = 20, choices = EVENTS)

    def __unicode__(self):
        return self.name.verbose_name


class EventTeam(models.Model):

    school = models.ForeignKey('School')
    event = models.ForeignKey('Event')

    def __unicode__(self):
        str = self.event + ': ' + self.school.name
        return str


class Member(models.Model):

    name = models.CharField('Name of member', max_length = 20)
    events = models.ManyToManyField('EventTeam')

    def __unicode(self):
        return self.name

forms.py

class EventTeamForm(forms.Form):

    event = forms.BooleanField()
    mem1 = forms.CharField(label="Member 1", max_length = 20)
    mem2 = forms.CharField(label="Member 2", max_length = 20, required = False)

    if event.label == 'Quizzing':
        mem3 = forms.CharField(label="Member 3", max_length = 20, required = False)

class BaseEventTeamFormSet(BaseFormSet):

    def __init__(self, *args, **kwargs):
        super(BaseEventTeamFormSet, self).__init__(*args, **kwargs)

    for i in range(0, len(Event.EVENTS)):
        self[i].fields['event'].label = Event.EVENTS[i][1]


class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = ('name', 'descr', 'upForAcq'
    )

views.py

@login_required(login_url = '/xdashboard/login/')
def register(request):

    context = RequestContext(request)
    currSchool = School.objects.get(user = request.user)
    eventTuple = Event.EVENTS
    noOfEvents = len(eventTuple)
    EventTeamFormSet = formset_factory(EventTeamForm, extra = noOfEvents - 1, formset=BaseEventTeamFormSet)

    if request.method == 'POST':
        formset = EventTeamFormSet(request.POST, request.FILES)

        if formset.is_valid():  
            i = 0
            for form in formset:
                participating = form.cleaned_data['event']

                if participating == True:

                    event = Event.objects.get(pk = i+1)

                    mem1 = form.cleaned_data['mem1']
                    mem1 = Member(name = mem1)
                    mem1.save()
                    mem2 = form.cleaned_data['mem2']
                    mem2 = Member(name = mem2)
                    mem2.save()

                    if event == "Quiz":
                        mem3 = form.cleaned_data['mem3']
                        mem3 = Member(name = mem3)
                        mem3.save()

                    # creating database queries, many mistakes!

                    team = EventTeam(school = currSchool, event = event)
                    team.save()
                    mem1.events.add(team) # adding the members to the team
                    mem2.events.add(team)
                    try:
                        mem3.events.add(team)
                    except NameError:
                        pass

                    i += 1

    else:
        formset = EventTeamFormSet()

    context_dict = {
    'formset': formset,
    }

    return render_to_response('xdashboard/register.html', context_dict, context)
Abhinav nair

forループにはforms.pyに適切なインデントがなく、__init__()メソッド内にある必要があるようです。テンプレートコードを確認すると便利です。私の推測では、formset.is_valid()メソッドはfalseを返し、送信時のデータ処理はPOSTでは行われません。

酒の使用をデバッグするため{{ field.errors }}{{ forms.non_field_errors }}、テンプレートインチ

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

フォームデータのオブジェクトが正しく処理されていません

分類Dev

データが正しくフォーマットされていません

分類Dev

FirebaseOrderbyが正しくフォーマットされていません

分類Dev

RSTREADMEがPyPiで正しくフォーマットされていません

分類Dev

NSDateFormatterが正しくフォーマットされていません

分類Dev

Python文字列が正しくフォーマットされていません

分類Dev

mysqli_queryが正しく処理されていません

分類Dev

FirefoxとIEフォームが正しく送信されていません

分類Dev

HTML / Javascriptフォームが正しく表示されていません

分類Dev

htmlフォームが正しく実行されていません

分類Dev

フォーマットされたCSSボタンが正しく配置されていません

分類Dev

PowerShellでキーワードを返す-出力が正しくフォーマットされていません

分類Dev

テキストの位置揃えが正しくフォーマットされていません

分類Dev

読み込み時にサイトで画像が正しくフォーマットされていません

分類Dev

POSTコードが正しくフォーマットされていませんか?

分類Dev

データセットが正しく参照されていません

分類Dev

MYSQL日付クエリ構文が正しくフォーマットされていません

分類Dev

2BoxLayoutのFloatLayoutsが正しくフォーマットされていません

分類Dev

DateTimeToStringがddMMy指定子で正しくフォーマットされていません

分類Dev

日付が文字列に正しくフォーマットされていません

分類Dev

IRS-A2A「メッセージが正しくフォーマットされていません」(TPE1105-uniqueTransmissionID)

分類Dev

処理から実行されたスクリプトが正しく実行されていません

分類Dev

反応フォームが正しく送信されません

分類Dev

Djangoテンプレートが<pre>タグを正しくフォーマットしていません

分類Dev

フォームでファイルを開くと、ThreadStateExceptionが処理されませんでした

分類Dev

ブートストラップフォームが正しく整列していません

分類Dev

HTML フォームが PHP ページから正しく印刷されていませんか?

分類Dev

Facebookプラグインのコメントにエラーが表示されます:hrefURLが正しくフォーマットされていません

分類Dev

Androidカスタムフォント(nunito)がTextViewで正しく設定されていません

Related 関連記事

  1. 1

    フォームデータのオブジェクトが正しく処理されていません

  2. 2

    データが正しくフォーマットされていません

  3. 3

    FirebaseOrderbyが正しくフォーマットされていません

  4. 4

    RSTREADMEがPyPiで正しくフォーマットされていません

  5. 5

    NSDateFormatterが正しくフォーマットされていません

  6. 6

    Python文字列が正しくフォーマットされていません

  7. 7

    mysqli_queryが正しく処理されていません

  8. 8

    FirefoxとIEフォームが正しく送信されていません

  9. 9

    HTML / Javascriptフォームが正しく表示されていません

  10. 10

    htmlフォームが正しく実行されていません

  11. 11

    フォーマットされたCSSボタンが正しく配置されていません

  12. 12

    PowerShellでキーワードを返す-出力が正しくフォーマットされていません

  13. 13

    テキストの位置揃えが正しくフォーマットされていません

  14. 14

    読み込み時にサイトで画像が正しくフォーマットされていません

  15. 15

    POSTコードが正しくフォーマットされていませんか?

  16. 16

    データセットが正しく参照されていません

  17. 17

    MYSQL日付クエリ構文が正しくフォーマットされていません

  18. 18

    2BoxLayoutのFloatLayoutsが正しくフォーマットされていません

  19. 19

    DateTimeToStringがddMMy指定子で正しくフォーマットされていません

  20. 20

    日付が文字列に正しくフォーマットされていません

  21. 21

    IRS-A2A「メッセージが正しくフォーマットされていません」(TPE1105-uniqueTransmissionID)

  22. 22

    処理から実行されたスクリプトが正しく実行されていません

  23. 23

    反応フォームが正しく送信されません

  24. 24

    Djangoテンプレートが<pre>タグを正しくフォーマットしていません

  25. 25

    フォームでファイルを開くと、ThreadStateExceptionが処理されませんでした

  26. 26

    ブートストラップフォームが正しく整列していません

  27. 27

    HTML フォームが PHP ページから正しく印刷されていませんか?

  28. 28

    Facebookプラグインのコメントにエラーが表示されます:hrefURLが正しくフォーマットされていません

  29. 29

    Androidカスタムフォント(nunito)がTextViewで正しく設定されていません

ホットタグ

アーカイブ