Django:基数为10的int()的文字无效:'csrfmiddlewaretoken'

问题描述 投票:1回答:1

当我试图用数据保存表单时,我有这个错误。表格:

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})

它出什么问题了?

python django
1个回答
1
投票

您已在表单的__init__函数中添加了意外参数。如果您没有以非标准方式使用此表单,则此参数将由Django使用POST数据填充。要修复该错误,您必须覆盖正在使用的通用视图部分以包含该额外数据或以其他方式传递它。

© www.soinside.com 2019 - 2024. All rights reserved.