Как я могу POST без формы в Джанго - PullRequest
0 голосов
/ 10 ноября 2019

Я использую динамические поля для ввода. У меня есть форма с кнопкой отправки и div, чтобы добавить динамические поля. Прямо сейчас я просто пытаюсь POST с фиктивными данными, но я переключу его в массив, когда он будет работать.

<form class="signin" action="{% url 'main:link/link' %}" id="Form1">

Это мой запрос в моем html.

var $form = $( this ),
path = $form.attr( "action" );

payload = {"tKey":"test"};
var posting = $.ajax({
  url: path,
  method: "POST",
  headers: {'X-CSRFToken': '{{ csrf_token }}'},
  data: payload,
  dataType: "application-json",
});
console.log(payload);

posting.done(function() {
  console.log("posted");
});

posting.fail(function() {
console.log( "error" );
});

Это мои взгляды:

def test1(request):
if request.method == 'GET':
    return render(request, 'link.html')
elif request.method == 'POST':
    data = request.POST.get('data')
    return render(request, 'link.html')

К сожалению, это не помогает. Есть идеи, что я делаю не так? Спасибо!

1 Ответ

0 голосов
/ 10 ноября 2019

если представление получает как вызов ajax, оно должно десериализовать само тело json.

import json


def test1(request):
    if request.method == 'GET':
        return render(request, 'link.html')
    elif request.method == 'POST':
        data = json.loads(request.body)
        return render(request, 'link.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...