Создание роутинга Django + React
Я сделал обычный роутинг на react :
<Router>
<div>
<ul>
<li><Link to='/'>App_zero</Link></li>
<li><Link to='/app_one'>App_one</Link></li>
<li><Link to='/app_two'>App_two</Link></li>
</ul>
<Switch>
<Route exact path='/' component={App_zero}></Route>
<Route exact path='/app_one' component={App_one}></Route>
<Route exact path='/app_two' component={App_two}></Route>
</Switch>
</div>
</Router>
и он хорошо работал , но когда я использовал это в проекте , где я совместил React и Django возникли ошибки.Когда я начал переходить по ссылкам все было нормально , но когда я обновил страницу(на которую перешел) или сделал какое-то действие , которые вызвало обновление страницы , то Django мне выдал ошибку , что такого url не существует.Я понял , что React и Django начали конфликтовать.Как сделать чтобы Django не выдавал ошибку?
Ответы (1 шт):
Автор решения: floydya
→ Ссылка
Эта проблема возникла из-за того, что Вы не указали Django направлять роуты React'a на его роутер. Исправить можно таким образом:
Файл urls.py:
from django.urls import re_path
from django.views.generic import TemplateView
urlpatterns = [
..., # тут все Ваши роуты
re_path(r'^(?:.*)/?$', TemplateView.as_view(template_name="index.html")),
# вместо index.html может быть путь к вашему основному файлу
]