2012-03-07 8 views
0

私のビューにcsvファイルをアップロードしようとしています。私はcsrfトークンをインクルードしましたが、ファイルをアップロードしようとすると403エラーが発生します。ここに私のビューとテンプレートは次のとおりです。djangoでファイルをuplodingする際に別のCRSFトークンエラーが発生しました

MY FORMのHTML

<div class="file-boxes"> 
     <form enctype="multipart/form-data" action="" encoding="multipart/form-data" id="upload-csv" method="post"> 
      {% csrf_token %} 
      {{form.csv}} 
      <!-- <input class="input-file" id="fileInput" type="file" size="14" name="csv_upload" onchange="this.form.submit()"> --> 
     </form> 
    </div> 

MY FORM

class DeliveryDataForm(forms.Form): 
    csv = forms.FileField(widget=forms.ClearableFileInput(attrs={'size:':14,'onchange':'this.form.submit()'})) 

MY VIEW

def upload_data(request): 
    ... 
    form = DeliveryDataForm() 

    if request.method == "POST": 
     import pdb 
     pdb.stack_trace() 
     form = DeliveryDataForm(request.POST, request.FILES) 
     return HttpResponse('asd') 

    return render_to_response(template,context) 

私はビューにいくつかの欠けている部分があることを知っているが、奇妙なことは、それは決して部分に入ることはないということです。何か案が ?

+0

これは、フォームを '{{form}}'ではなく{'{{form.csv}}'でレンダリングしても発生しますか? – yedpodtrzitko

+0

はい、私も{{form}}を試してみましたが、まだエラーが発生しています – iva123

+4

そして、あなたはエラーページか[ドキュメント](https://docs.djangoproject.com/ja/1.3/ref/contrib/)を読んだのですか? csrf /)には、csrfキーを取得するためにRequestContextを使用する必要があることが明確に記載されていますか? –

答えて

1
from django.shortcuts import render 
# ... 
# return render_to_response(template,context) 
return render(request,'index.html',context) 
関連する問題