Как передать JSON данные из React в Django с помощью POST запроса?

У меня есть фронтенд React, в котором есть переменная state, содержащая массив. Я хочу передать эту переменную состояния onClick моему Django's views.py. На данный момент у меня есть что-то вроде этого:

App.js

const [dataSource, setDataSource] = useState([]); // Where the data is stored in

const requestOptions = {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(dataSource),
};

const handleSubmit = () => {
    fetch("http://localhost:8000/insert", requestOptions);
};

<Popconfirm onConfirm={handleSubmit}>
    <Button>Submit</Button>
</Popconfirm>

views.py

def insert(request):
     if request.method == 'POST':
           json_data = request.POST.get() 
           # I'm not sure what should I be putting as a parameter for .get() method

     return render(request, 'frontend/index.html')

urls.py

...
urlpatterns = [
     ...
     path('insert/', views.insert),
     ...
]

Правильно ли я использую подход? Если правильный, то что я должен передать в качестве параметров методу get()?

*P.s. Я не использую DRF для этого подхода и создаю приложение, где Django и React находятся в одном приложении (не отдельно), где фронтенд является приложением Django.

Перед проблемой есть пара моментов. Во-первых, вы не должны использовать insert в качестве имени представления, это противоречит остальным соглашениям, подробнее читайте этот документ

Второе сделать fetch("http://localhost:8000/insert/", requestOptions);

В-третьих, когда вы хотите получить тело, все, что вам нужно сделать, это

import json
    data = json.loads(request.body)

и вы получите данные поста в формате json на руки

Вернуться на верх