2015-11-27 2 views
0

Ваших значений от клиента Advanced Rest возвращений определения Джанго «Запретного (403)» предупреждение enter image description hereсообщений для определения Джанго от Advanced Rest Client

выглядит как знак CSRF отсутствует в заголовке, Что можно сделать, чтобы избавиться от этой проблемы? Ниже мое определение, чтобы получить POST ЗНАЧЕНИЯ

def saveToDb(request): 
c = {} 
c.update(csrf(request)) 
if request.method == 'POST': 
    form = RegisterForm(request.POST) 
    if form.is_valid(): 
     form_unique_id = form.cleaned_data['form_id'] 
     form_meta_data = form.cleaned_data['form_content'] 
     meta_data = FormMetaData.objects.create(
      form_id=form_unique_id, 
      form_content=form_meta_data 
     ) 
     meta_data.save() 
     result = FormMetaData.objects.all() 
    return render(request, "form_saved.html", {'result': result}) 

Там не проблема в определении, поскольку он хорошо работает с формы ввода

ответ

2

Опубликовать Джанго От Advanced Rest Client с CSRF токен: Set CSRF токен для ключа "X-CSRFToken" в разделе заголовка, добавьте пары ключ-значение в разделе тела, Выберите тип содержимого, как «применение/х-WWW-форм-urlencoded» и нажмите кнопку Отправить

сообщение для Джанго от Advanced Rest Client без CSRF токен: Добавить пары ключ-значение в разделе тела , Выберите тип содержимого как «application/x-www-form-urlencoded» и нажмите кнопку «Отправить». Примечание: Пожалуйста, убедитесь, что установлен «@csrf_exempt» для определения, к которому вы добавите значения

, как показано ниже enter image description here

0

Вы должны дать {% csrf_token%} в вашем HTML;

<html> 
    <form method="post"> 
    {% csrf_token %} 
    </form> 
</html> 
+0

Я знаю, что я спрашиваю, как я могу разместить его от отдыха клиента? Pl получить мой вопрос – ABI

+1

, а затем добавить к вашему вопросу соответствующий код, который не работает –

+0

@Louis, кажется, проблема csrf, была решена :) – ABI