我目前正在构建django-react应用程序,我想知道如何处理我在react路由器上的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'))]发布于 2018-12-18 06:16:52
我会这样做的:
首先,使用regex模式从django定义一个url,它接受任何内容:
url(r'^.*$', TemplateView.as_view(), name="home") # This is the view which servers the react application并将此路径添加到urlpatterns的底部。
其次,在中添加新的路由器:
<Route component={NotFoundComponent} /> // This component is for showing 404 page.对于其余的路由器应该有精确。
您可以在react中看到如何实现404页的本教程。
https://stackoverflow.com/questions/53825856
复制相似问题