Я получаю MultiValueDictKeyError
, когда пытаюсь использовать request.POST['my_variable_from_jquery_post']
для просмотра. Я понятия не имею, как обойти это, я много пробовал. Я использую django 1.6. Помощь будет оценена по достоинству.Невозможно отправить переменные .post в django view
HTML
<script>
$(function(){
$('.add').click(function(){
var id = $(this).attr('id');
$.post("{% url 'myapp.views.add_bet' %}", {off_id: id,});
});
});
</script>
<form action="{% url 'myapp.views.add_bet' %}" method="post">
{% csrf_token %}
<button class="btn btn-default add" id="{{offer.id}}" >Add »</button>
</form>
Посмотреть
def add_bet(request):
off_id=request.POST['off_id'] #doesn't work, throws MultiValueDictKeyError
offer=Offer.objects.get(pk=1) #the rest works, if I set pk=1, the bet saves
b=Bet(offer=offer, user=request.user, submitted=False)
b.save()
return redirect('myapp.views.index')
Вы уверены, что вы получаете правильный вызов Ajax ? Также '' {{offer.id}} 'правильно отображается? Попробуйте поместить 'preventDefault()' в ваш обратный вызов 'click'. – mariodev
Вы могли бы опубликовать выступление 'request.POST' из вашего представления' add_bet'. – Amyth