Обслуживание папки react build в django, страница не найдена при перезагрузке

Я пишу приложение для чата на Django и использую React в качестве фронт-энда, я обслуживаю react по корневому пути 'localhost:8000/' и в приложении react тоже есть некоторые пути, такие как 'chat/:user', я могу получить доступ к ним, пока я иду от корневого пути, если я ввожу путь вручную или пытаюсь перезагрузить страницу, он выдает ошибку 'Page not found'.

Это мой файл urls.py

from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('accounts.urls')),
    path('', TemplateView.as_view(template_name='index.html'), name='chat'),
    path('api-auth/', include('rest_framework.urls'), name='api-auth'),
    path('api/', include('api.urls')),
]

и это мой App.js

function App(props) {
    const [user, setUser] = useState('none');
    useEffect(() => {
        fetch('http://localhost:8000/api/user-data')
            .then((response) => response.json())
            .then((data) => {
                setUser(data.username);
        });
    }, [])
    //console.log(window.location.href);
    return (

        <BrowserRouter>
        <Routes>
            <Route path='/' element={<Layout user={user} socket={props.socket} />}>
                <Route index element={<Home user={user} socket={props.socket} />} />
                <Route path='chat/:chattingUser' element={<ChatPage user={user} socket={props.socket} />} />
                <Route path='search/:queryText' element={<SearchPage user={user} socket={props.socket} />} />
           </Route>  
       </Routes> 
       </BrowserRouter>
   );
}

Я был на маршруте /chat/ и я изменил некоторые вещи в коде, поэтому пришлось перезагрузить страницу, затем появилась эта ошибка, почему он смотрит на django urls при перезагрузке и как мне заставить его смотреть на react при перезагрузке или вводить urls вручную.

Я еще не реализовал это, но я хочу, чтобы мое приложение оставалось на стороне react после аутентификации пользователя и приходило на страницы django только тогда, когда он выходит из системы.

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