Django - получение значений из Post запроса, JavaScript Fetch API [Duplicate]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Django - получение значений из Post запроса, JavaScript Fetch API [Duplicate]

Сообщение Anonymous »

Извините, если это вопрос NOOB, я создаю приложение django < /strong>, и за это я пытаюсь получить доступ к данным, полученным по запросу, используя API JavaScript Fetch, но он показывает пустые.
Я не могу получить, что моя ошибка. views.py

Код: Выделить всё

def checkdb(request):
if request.method == "POST":
a = request.POST.get('tag', 'default')
print("printing", a)
print(request.POST)
return HttpResponse("Hello")

def check(request):
return render(request, 'shop/new.html')
код urls.py

Код: Выделить всё

urlpatterns = [
path('', views.index, name="shop"),
path('checkdb/', views.checkdb, name="checkdb"),
path('check/', views.check, name="check"),
]
код new.html , он имеет только тег сценария, чтобы получить запрос только для цели тестирования.

Код: Выделить всё


data = JSON.stringify({
headline: "Testing",
tag: "Testing",
background_image: "Testing",
content: "Testing",
user: 1
})

let csrftoken = getCookie('csrftoken');
let response = fetch("/shop/checkdb/", {
method: 'POST',
body: data,
headers: { 'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json',
"X-CSRFToken": csrftoken },
})

function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}


Когда я перехожу в конечную точку shop/check , затем его тег скрипта выполняется, и в консоли нет ошибки, но когда я пытаюсь распечатать данные, полученные в терминале, он всегда печатает опцию по умолчанию, я не получаю то, что я хочу, я хочу распечатать данные, соответствующие ключе, который является «тестирование», но это невозможно, чтобы я обнаружил, что я обнаружил, что моя ошибка. Терминал < /p>

Код: Выделить всё

Quit the server with CTRL-BREAK.
[01/May/2020 19:09:02] "GET /shop/check/ HTTP/1.1" 200 1091
printing default

[01/May/2020 19:09:02] "POST /shop/checkdb/ HTTP/1.1" 200 5
Я использую django 3.0.4.
Спасибо и извините, если есть какая -то глупа>

Подробнее здесь: https://stackoverflow.com/questions/615 ... -fetch-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»