#jquery #python #django
#jquery #python #django
Вопрос:
Я хочу загружать несколько файлов одновременно, используя javascript и python. Всякий раз, когда я выполняю ajax-запрос, возникает ошибка (403 или запрещено). Я не знаю, что именно происходит не так????? пожалуйста, помогите мне…
вот мой index.html ..
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="/media/" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="/static/js/jquery.ui.widget.js"></script>
<script src="/static/js/jquery.iframe-transport.js"></script>
<script src="/static/js/jquery.fileupload.js"></script>
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
<script>
$('#fileupload').fileupload({
/* ... */
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress '%'
);
}
});
</script>
</body>
</html>
и вот мое мнение…
def update_file(request):
print "view is called"
context = RequestContext(request)
context_dict = {}
if request.method== "POST":
image = request.POST.get('image')
request.user.userprofile.resume.delete()
request.user.userprofile.resume = image
request.user.userprofile.save()
return render_to_response('index.html', context_dict, context)
Комментарии:
1. Включено ли у вас ведение журнала для Django на вашем сервере? Часто вы можете увидеть более подробную информацию о том, почему происходит 403. Или, если вы установите DEBUG= True в своих настройках, вы можете получить более подробную информацию об ошибке.
Ответ №1:
Я думаю, это потому, что вы пропустили токен CSRF https://docs.djangoproject.com/en/dev/ref/contrib/csrf /
Комментарии:
1. точная ошибка, которую я получаю, такова….. ОПУБЛИКОВАТЬ 127.0.0.1:8000/simple_file_upload/update_file 403 (ЗАПРЕЩЕНО) jquery-2.1.1.js:9188 x.support.cors.e.crossDomain.отправить jquery-2.1.1.js:9188 x.extend.ajax jquery-2.1.1.js:9188 загрузить 127.0.0.1:8000/simple_file_upload/profile/:80 onclick 127.0.0.1:8000/simple_file_upload/профиль/:110
2. Похоже на ошибку с токеном csrf, пожалуйста, ознакомьтесь с предоставленной документацией