簡體   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