В настоящее время ваш сервер перехватывает маршруты, предназначенные для React, и пытается их обработать. Вам необходимо настроить маршруты таким образом, чтобы сервер обрабатывал только фактические маршруты сервера (обычно с префиксом "/api/"
), а все остальные обрабатываются React.
Не видя файл urls.py
, я предполагаю, что у вас есть базовый / голый маршрут ("/"
), перейдите в приложение React, которое отлично работает для первоначальных запросов (на домашнюю страницу), но начинает ломаться вниз при использовании ссылки или обновлении страницы.
Ваша маршрутизация должна в основном использовать приложение React так, как обычно используются 404 страницы - когда для запроса не найдено подходящих маршрутов на сервере. Важно, чтобы вы определили все другие маршруты выше маршрута к приложению React, чтобы все, что сервер знает, как обрабатывать, обрабатывалось сервером, а остальные передавались клиенту React.
Так что ваши URL должны выглядеть примерно так:
from django.conf.urls import url, include
from django.views.generic import TemplateView
urlpatterns = [
url(r"^api/v1/", include("api_v1.urls", namespace="api_v1")),
url(r"^.*", TemplateView.as_view(template_name="index.html")),
]
Где index.html
- это приложение вашего React.