Django根据表单选择重定向到其他URL

问题描述 投票:0回答:1

您好,我根据Django中的Form Choice重定向到了不同的页面。我有4种不同的选择可供选择,但每个人的下一页都不同。我做这样的事情:

forms.py

class DodajForm(forms.ModelForm):
class Meta:
    model = Atrakcje
    exclude = ['user']
    fields = ['tytul', 'opis', 'kategoriaa', 'adres',
     'wojewodztwo', 'miasto', 'telefon', 'zdjecie', 'wideo',
     'email', 'strona', 'facebook', 'kodpocztowy', 'zaswiadczenia', 'pakiet', 'cena', 'dla']
    widgets = {
        'kategoriaa': forms.Select(
             attrs={
                'class': 'form-control'
            }
        ),
         'pakiet': forms.Select(
             attrs={
                'class': 'form-control'
            }
        ),
        'tytul': forms.TextInput(
             attrs={
                'class': 'form-label'
            }
        ),
        'opis': forms.Textarea(
             attrs={
                'class': 'form-control'
            }
        ),
          'zdjecie': forms.FileInput(
             attrs={
                'class': 'dropzone dz-clickable',

            }
        ),

       'zaswiadczenia': forms.FileInput(
             attrs={
                'class': 'dropzone dz-clickable',

            }
        ),

    }

views.py

def formularz(request):
form = DodajForm(request.POST)   
if form.is_valid():
    ogloszenie = form.save(commit=False)
    ogloszenie.user = request.user 
    ogloszenie.save()
    if form.pakiet == "free":

        return redirect('atrakcje:after') 
    elif form.pakiet == "pakiet1":
        return redirect('atrakcje:after1') 
    elif form.pakiet == "pakiet2":
        return redirect('atrakcje:after2') 
    else:
        return redirect('atrakcje:after3') 
else:
    ogloszenie = DodajForm()
context = {
            'form': form,}
return render(request, 'formularz.html', context)

而且我在每个这样的选择上都有错误:

“ AttributeError在/ atrakcje / formularz /'DodajForm'对象没有属性'pakiet'

此行有错误:如果form.pakiet ==“免费”:

任何建议如何解决这个问题?

python django
1个回答
0
投票

您需要致电form.cleaned_data['pakiet']

© www.soinside.com 2019 - 2024. All rights reserved.