2016-03-09 3 views
0

Мне нужно обновить базу данных сервера django с c-клиента (не браузера), я использовал метод POST для обновления, тело заголовка содержит данные json, так как я не имею токен csrf его отдача 403 ошибкиhttp POST-данных от c-клиента, блокировка csrf django

им с помощью промежуточного программного приобрести этот JSon данные (с помощью request.body) и сохранить в базе данных

мой заголовок HTTP:

«POST/запись HTTP/1.1 \ г \ nHost : 192.168.1.9 \ r \ n \ r \ n {\ "Lupttime \": \ "7-2-2016 17: 28 \"} "

012 Журнал
POST 
Host:192.168.1.9 

{"Lupttime":"7-2-2016 17:28"} 

Джанго:

Forbidden (CSRF cookie not set.): /post 
[09/Mar/2016 12:16:15] "POST /post HTTP/1.1 " 403 2629 

дополнительные сомнения

  • Как обновить базу данных сервера Джанго непосредственно не из браузера/форма
  • я могу получить данные, как это легко получить post /? data = {x: y}, но я прочитал где-то обновление базы данных сервера с помощью метода GET - это не очень хорошая идея
  • это хорошая идея, чтобы отправить данные в теле заголовка HTTP

ответ

3

Вы можете использовать декоратор

@csrf_exempt 
def my_view(request): 
    #handle request 

читать об этом here

Надеется, что это помогает.