Django:以10为底的int()无效文字:'csrfmiddlewaretoken'

时间:2019-03-04 21:21:40

标签: python django

当我试图用数据保存表单时,出现此错误。形式:

class EntityCreateForm(forms.ModelForm):

def __init__(self, chain, *args, **kwargs):
    super(EntityCreateForm, self).__init__(*args, **kwargs)
    self.fields['chain'] = forms.ModelChoiceField(queryset=Chain.objects.filter(pk__in = chain))

    class Meta:
        model = Entity
        fields = '__all__'

查看:

def entity_create(request):

    if request.method == 'POST':
        form = EntityCreateForm(request.POST)
        if form.is_valid():            
            form.save()
            return redirect(reverse('organisation:entity-list'))
    else:
        chain = request.session['chain']
        form = EntityCreateForm(chain)
    return render (request, 'organisation/entity_form.html', {'form':form})

怎么了?

1 个答案:

答案 0 :(得分:1)

您已经向表单的__init__函数添加了意外的参数。如果您不是以非标准方式使用此表单,那么Django将使用POST数据填充此参数。要解决该错误,您必须覆盖用于添加额外数据的通用视图的一部分,或者以其他方式传递它。