当我点击提交表单时,我收到了这个错误

when i click on submit forms then i got this error

我在 Django 的表单中遇到属性错误,之后我卡住了,请帮助我解决这个问题

我的views.py文件

tasks=['sleep','drink','code']
class newforms(forms.Form):
    task=forms.CharField(label='new_task',max_length=100)

 
def add(request):
    if request.method=='POST':
        form=newforms(request.method)
        if form.is_valid():
            task=form.cleaned_data['task']
            tasks.append(task)
        else:
            return render(request,'add.html',{
            'form':form
            })

    return render(request,'add.html',{
    'form':newforms()

    })

错误显示

您应该将 request.POST 作为数据传递给表单(或 request.GET,或其他类似字典的对象),而不是 request.method:

def add(request):
    if request.method == 'POST':
        form = newforms(<b>request.POST, request.FILES</b>)
        if form.is_valid():
            task = form.cleaned_data['task']
            tasks.append(task)
    else:
        form = newforms()
    return render(request,'add.html',{'form': form})

也就是说,使用列表 不是 一个好主意。你在这里介绍global state。这使得程序不可预测,但也意味着当您重新启动服务器时数据不会持久存在。如果您以后使用多个 worker,则意味着一个 worker 与另一个 worker 具有不同的状态。