Django: Отправка JSON-данных из main.js обратно в представление для обработки/обновления базы данных
У меня проблемы с отправкой данных из моего main.js обратно в django, чтобы они могли быть обработаны там и обновлены в базе данных. Пользователь, вошедший в систему, может манипулировать данными, передаваемыми WorkshopMasterView в шаблоне/фронтенде. При отправке данных текущий JSON-объект должен быть отправлен обратно в django для обработки.
Я получаю следующие сообщения об ошибках:
main.js:379 POST http://127.0.0.1:8000/workshop-master-view/ 404 (Not Found)
sendJsonToServer @ main.js:379
(anonymous) @ main.js:420
Вот основная логика:
workshop-master-view
- это название шаблона URL, а не фактический URL конечной точки. Вы должны либо использовать тег шаблона {% url 'workshop-master-view' %}
, либо передать workshop/
в качестве URL в метод fetch.
Спасибо за быстрый ответ. Да, я использую следующее пространство имен:
app_name = 'management'
urlpatterns = [
path("", LandingView.as_view(), name="landing-view"),
path("building/", BuildingListView.as_view(), name="building-list-view"),
path("workshop/", WorkshopMasterView.as_view(), name="workshop-master-view"),
path('process_json/', ProcessJsonView.as_view(), name='process_json'),
]
Я изменил fetch-URL на:
function sendJsonToServer(data) {
const csrftoken = getCookie('csrftoken');
fetch("{% url 'management:workshop-master-view' %}", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrftoken
},
body: JSON.stringify(data)
})
.then(response => {
if (response.redirected) {
window.location.href = response.url;
} else {
return response.json();
}
})
.then(data => {
if (data) {
console.log('Erfolgreich:', data);
}
})
.catch((error) => {
console.error('Fehler:', error);
});
}
Но все равно получаем ту же ошибку:
POST http://127.0.0.1:8000/management/workshop/%7B%%20url%20'management:workshop-master-view'%20%%7D 404 (Not Found)