繁体   English   中英

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

[英]Django: invalid literal for int() with base 10: 'csrfmiddlewaretoken'

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

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

它出什么问题了?

您已向表单的__init__函数添加了一个意外参数。 如果你没有以非标准的方式使用这个表单,那么这个参数将被 Django 用POST数据填充。 要修复该错误,您必须覆盖用于包含额外数据的通用视图的一部分,或者以其他方式传递它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM