Как добавить в Django Rest фреймворк

В настоящее время у меня есть следующее:

backend/urls.py

from django.contrib import admin
from django.db import router
from django.urls import path, re_path, include
from pages import views
from rest_framework import routers
from reactUI import reactViews

router = routers.DefaultRouter()
router.register(r'reactCluster',reactViews.reactUIClusterView,'reactUI')
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.homeView, name='home'),
    re_path(r'^getdata/',views.homeView),
    re_path(r'^loadAPI/',views.loadAPI),
    path('api/', include(router.urls)),
]

backend/reactUI/reactViews.py

from django import views
from django.shortcuts import render
from rest_framework import viewsets
from .serializers import reactUIClusterSerializer
from .models import reactUICluster

# Create your views here.
class reactUIClusterView(viewsets.ModelViewSet):
    serializer_class = reactUIClusterSerializer
    queryset = reactUICluster.objects.all()
    #helps with crud ops

backend/reactUI/models.py

from django.db import models
from pandas import describe_option
    class reactUICluster(models.Model):
        title = models.CharField(max_length=200)
        physicalCPU = models.IntegerField()
        virtualCPU = models.IntegerField()
        #maybe add a list feild in cluster class 
    
        def __str__(self) -> str:
            return self.title

backend/reactUI/serializers/py

from rest_framework import serializers
from .models import reactUICluster
class reactUIClusterSerializer(serializers.ModelSerializer):
    class Meta:
        model = reactUICluster
        fields = ('id', 'title', 'physicalCPU', 'virtualCPU')

Передняя часть в react

import React, { Component, useState } from "react";
~bunch of random other imports
let counter = 0;
function RefreshList() {
    const [row, setRow] = useState([]) 
    const payload = {
        title :'a',
        physicalCPU:'b',
        virtualCPU:'c'
    }
    const axiosPost = () => {
        axios.post("http://localhost:8000/api/reactCluster/",payload).catch((err) => console.log(err))
    }
    const axiomCall = () => {
        console.log("FF");
        axios
            .get("http://localhost:8000/api/reactCluster/")
            .then((res) =>{setRow(res.data);})
            .catch((err) => console.log(err));
        for (var i = 0; i<row.length; i++){
            console.log(row[i]);
        }
        //console.log(row)
        //console.log("EOF ")
        
        };
    console.log(counter)
    if (row.length==0){
        counter = 2;
        axiomCall();
        axiosPost();
    }else{
        
    }

    return(
        <div>

            <TableContainer>
                <Table sx={{ minWidth: 200 }} size="small" aria-label="a dense table">
                    <TableHead>
                    <TableRow>
                        <TableCell>Clusters</TableCell>
                        <TableCell align="right">pCPU Number</TableCell>
                        <TableCell align="right">vCPU Number</TableCell>
                        <TableCell align="right">virt to phys ratio</TableCell>
                    </TableRow>
                    </TableHead>
                    <TableBody>
                    {row.map((r) => (
                        <TableRow
                        key={r.name}
                        sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
                        >
                        <TableCell component="th" scope="row">{r.title}</TableCell>
                        <TableCell align="right">{r.physicalCPU}</TableCell>
                        <TableCell align="right">{r.virtualCPU}</TableCell>
                        <TableCell align="right">{r.virtualCPU/r.physicalCPU}</TableCell>
                        
                        </TableRow>
                    ))}
                    </TableBody>
                </Table>
            </TableContainer>


        </div>
    )
    
};


  
  export default RefreshList;

Теперь, если я попытаюсь вызвать метод axiosPost(), он фактически не будет обновлять ничего внутри значений django rest framework

Более того, у меня есть много данных, которые находятся в базе данных SQL. Я думал сделать вызов API с фронт-энда, чтобы бэкэнд добавлял элементы в REST-фреймворк, получая значения из базы данных SQL, делая это, когда мы загружаем сайт, он будет показывать все, что находится в базе данных SQL

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