[英]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.