編集
print request.POST['video'] を書くと、'video' の値があってもコンソールに何も出力されません。javascript で間違った値を誤って取得していますか? 「video34」(非表示フィールドの値) を表示しようとしています。
オリジナル
Django で jQuery/AJAX を使用してデータを POST しようとしていますが、問題が発生しています。views.py の「video」変数にアクセスするにはどうすればよいですか? views.py に「ビデオを印刷」と書き込むと、コンソールに POST /edit_favorites/ HTTP/1.1" 500 10113 というエラーが表示されます。
ビュー.py
from django.shortcuts import render_to_response
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def edit_favorites(request):
if request.is_ajax():
message = "Yes, AJAX!"
else:
message = "Not Ajax"
return HttpResponse(message)
URLconf:
url(r'^edit_favorites/', 'edit_favorites'),
html:
<form method='post' id ='test'>
<input type="hidden" value="video34" />
<input type='submit' value='Test button'/>
<div id = 'message'>Initial text</div>
</form>
JavaScript:
<script type="text/javascript">
$(document).ready(function() {
$("#test").submit(function(event){
event.preventDefault();
$.ajax({
type:"POST",
url:"/edit_favorites/",
data: {
'video': $('#test').val() // from form
},
success: function(){
$('#message').html("<h2>Contact Form Submitted!</h2>")
}
});
return false;
});
});
</script>