• 21-09-2018, 21:44:24
    #1
    Merhaba Arkadaşlar,
    Görseldeki Multiple Selectbox'ım var.Django ile post ederken tek değer basıyor.Diziye atıp Split ile nasıl ayırabilirim.Veritabanında gelen post değerlerini işleyip verileri dökmek istiyorum.



    Değişken ismi kriter

           <select name="kriter" multiple="multiple" id="id_kriter">
      <option value="1">Anchovies</option>
    
      <option value="2">Black olives</option>
    
      <option value="3">Pepperoni</option>
    
      <option value="4">Mozzarella</option>
    
    </select>
    Forms.py
    class detailReportForm(forms.Form):
        id = forms.MultipleChoiceField(
            required=False, widget=forms.CheckboxSelectMultiple, choices=AracList)
    
        TOPPING_CHOICES = (
            (1, 'Anchovies'),
            (2, 'Black olives'),
            (3, 'Pepperoni'),
            (4, 'Mozzarella'),
        )
    
       kriter = forms.CharField(widget=forms.Select(
            choices=TOPPING_CHOICES, attrs={'multiple': 'multiple'}))
    Views.py

    @login_required(login_url='/users/login/')
    def detailReportTable(request):
        vericek = YeniArac.objects.all()
        formForm = detailReportForm()
        if request.method == "POST":
            formGet = detailReportForm(request.POST or None)
    
            if formGet.is_valid():
                id = formGet.cleaned_data['id']
                kriter = formGet.cleaned_data['kriter']
            
    
                messages.success(request, 'Başarılı')
            else:
                messages.error(request, 'Hata')
    
        return render(request, 'pages/detailReport.html', context={'form': vericek, 'formForm': formForm})
  • 14-10-2018, 03:30:56
    #2
    Merhabalar kolay gelsin.

    forms.py dosyasındaki kriter değişkenin değeri charfield yani sadece karakter atayabilirsiniz. Eğer çoklu seçim için kullanmak istiyorsanız böyle kullanmalısınız
    kriter = forms.MultipleChoiceField(
            choices=TOPPING_CHOICES)
    Ayrıca views.py dosyasında formdan veriyi böyle almanızı öneririm
    kriter = formGet.cleaned_data.get("kriter")