Как использовать обработчик ошибки 404 с реакцией-роутера на проектах Django - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я создаю веб-приложения django-response, мне интересно, как мне обработать мою ошибку 404 на реакции-маршрутизаторе, а не на стороне django, это мой код, ошибка 404 которого будет маршрутизироваться на стороне сервера django ...

urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^api/', include(urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
                      document_root=settings.MEDIA_ROOT)


routes = getattr(settings, 'REACT_ROUTES', [])
# urlpatterns += [url(r'^', 
TemplateView.as_view(template_name='index.html'))]
urlpatterns += [url(r'^(%s)?$' % '|'.join(routes),TemplateView.as_view(template_name='index.html'))]

1 Ответ

0 голосов
/ 18 декабря 2018

Вот как я бы это сделал:

Сначала определите URL от django с шаблоном регулярных выражений, который принимает все:

url(r'^.*$', TemplateView.as_view(), name="home")  # This is the view which servers the react application

И добавьте этот путь внизу urlpatterns.

Во-вторых, добавьте новый маршрутизатор в React App:

<Route component={NotFoundComponent} />  // This component is for showing 404 page.

Для остальных маршрутизаторов должно быть точный .

Вы можете увидеть этот урок о том, как реализовать 404 страницу в реакции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...