andを使用してファイルをアップロードするno javascript
コードを作成しました。ファイルを選択するための要素を使用します。ボタンをクリックすると、ファイルは問題なくアップロードされます。djangoビューはからファイルを取得できますhtml form
django view
html5 input
submit
request.FILES
def upload_file(request,template_name):
to_return = {}
store_message="failure"
if request.method == 'POST':
if request.FILES.has_key('fselect'):
file = request.FILES['fselect']
with open('/uploadpath/%s' % file.name, 'wb+') as dest:
for chunk in file.chunks():
dest.write(chunk)
store_message="success"
to_return['store_message']= store_message
if store_message == "failure":
return redirect('home')
reqctx = RequestContext(request,to_return)
return return render_to_response(template_name,reqctx)
htmlフォームは
<form enctype="multipart/form-data" method="post" action="{% url uploaded %}"> {% csrf_token %}
<input type="file" name="fselect" id="fselect"> </input>
<input type="submit" id="uploadbtn" value="upload">
</form>
javascript
ここで、 some を使用して view を呼び出したいと思いdjango
ます。アップロード ビューの ajax バージョンをコーディングしました
def ajax_upload_file(request):
to_return = {}
store_message="failure"
if request.method == 'POST':
if request.FILES.has_key('fselect'):
file = request.FILES['fselect']
with open('/uploadpath/%s' % file.name, 'wb+') as dest:
for chunk in file.chunks():
dest.write(chunk)
store_message="success"
to_return['store_message']= store_message
serialized = simplejson.dumps(to_return)
if store_message == "failure":
return HttpResponseServerError(serialized, mimetype="application/json")
else:
return HttpResponse(serialized, mimetype="application/json")
file
オブジェクトをjavascript
コードから django ビューに渡す方法について混乱しています。
JavaScriptコード
$(document).ready(function(){
$('#fselect').change(function(){uploadFile()});
}
function uploadSubTitleFile(){
//check if it is a subtitle file?
var file=document.getElementById('fselect').files[0];
var data = { };//how to pass the data
var args = { type:"POST", url:"ajax_upload/", data:data, complete:done };
return;
}