首页 > 解决方案 > int() 参数必须是字符串、类似字节的对象或数字,而不是 'NoneType' Django 表单

问题描述

我在结帐视图上提交表单时遇到问题。首先,我的主视图上有一个表格,我在其中询问物品的数量。我将数据发布到我的结帐视图以在我的前端做一个总结。在我的结帐视图上,我有另一个表单,我在其中询问电子邮件和姓名,当我尝试提交结帐表单时,我有一个 typeError。

int() argument must be a string, a bytes-like object or a number, not 'NoneType'

这是我的结帐视图

# My view 
@login_required(login_url='login')
def checkout(request):

    data = request.POST.copy()

    region = data.get('region-select')
    plateform = data.get('plateform-select')
    quantity = data.get('quantity-field')
    quantity = int(quantity)
    price = quantity * 3.99

    context = {
        'region':region,
        'plateform':plateform,
        'quantity':quantity,
        'price':price
    }

    return render(request, 'main/checkout.html', context)

我不明白为什么会发生这种情况,因为数据在我的模板中呈现

<h1 class="title is-5" style="margin-bottom:5px;"> {{price|floatformat:2}} EUR </h1>

标签: pythondjangoint

解决方案


推荐阅读