Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的多选表单字段只提交一个值Django?_Python_Django - Fatal编程技术网

Python 为什么我的多选表单字段只提交一个值Django?

Python 为什么我的多选表单字段只提交一个值Django?,python,django,Python,Django,无法让此表单提交/保存来自“我的多个选择表单”字段的多个输入 def StaffHome(request): dates = request.user.availability_set.all() bookings = request.user.booking_set.all() if request.method == 'POST': if 'remove' in request.POST: form = RemoveDate(request.user, reque

无法让此表单提交/保存来自“我的多个选择表单”字段的多个输入

def StaffHome(request):

dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()

if request.method == 'POST':
    if 'remove' in request.POST:
        form = RemoveDate(request.user, request.POST)
        if form.is_valid():
            for d in form.cleaned_data['date']:
                for i in dates:
                    if d == str(i.dates):
                        i.delete()
                    return redirect('main-home')
    elif 'add' in request.POST:
        form = AddDate(request.user, request.POST)
        if form.is_valid():
            for d in form.cleaned_data['date']:
                Availability.objects.create(user=request.user, dates=d)
                return redirect('main-home')



context = {
    'today': datetime.datetime.now().date(),
    'bookings': bookings,
    'form': AddDate(request.user),
    'form2': RemoveDate(request.user),
    'dates': dates
}

return render(request, 'users/staffhome.html', context)

我尝试使用request.POST.getlist('date'),但抛出了一个方法对象不可订阅错误。

您返回的位置是否正确,请检查

def StaffHome(request):

dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()

if request.method == 'POST':
    if 'remove' in request.POST:
        form = RemoveDate(request.user, request.POST)
        if form.is_valid():
            for d in form.cleaned_data['date']:
                for i in dates:
                    if d == str(i.dates):
                        i.delete()
             return redirect('main-home')
    elif 'add' in request.POST:
        form = AddDate(request.user, request.POST.getlist('add'))
        if form.is_valid():
            for d in form.cleaned_data['date']:
                Availability.objects.create(user=request.user, dates=d)
            return redirect('main-home')



context = {
    'today': datetime.datetime.now().date(),
    'bookings': bookings,
    'form': AddDate(request.user),
    'form2': RemoveDate(request.user),
    'dates': dates
}

return render(request, 'users/staffhome.html', context)

你回来的地方对吗,请检查一下

def StaffHome(request):

dates = request.user.availability_set.all()
bookings = request.user.booking_set.all()

if request.method == 'POST':
    if 'remove' in request.POST:
        form = RemoveDate(request.user, request.POST)
        if form.is_valid():
            for d in form.cleaned_data['date']:
                for i in dates:
                    if d == str(i.dates):
                        i.delete()
             return redirect('main-home')
    elif 'add' in request.POST:
        form = AddDate(request.user, request.POST.getlist('add'))
        if form.is_valid():
            for d in form.cleaned_data['date']:
                Availability.objects.create(user=request.user, dates=d)
            return redirect('main-home')



context = {
    'today': datetime.datetime.now().date(),
    'bookings': bookings,
    'form': AddDate(request.user),
    'form2': RemoveDate(request.user),
    'dates': dates
}

return render(request, 'users/staffhome.html', context)

你是对的!谢谢你,我不知道我怎么会错过那一次。这种事有时会发生。你是对的!谢谢你,我不知道我怎么会错过这个。它有时会发生。根据它看来,你需要使用
request.POST.getlist('date[])
才能让这个方法工作。根据它看来,你需要使用
request.POST.getlist('date[])
才能让这个方法工作。