使用React Router排除Django中的某些路由?

时间:2017-04-25 05:24:59

标签: python django reactjs react-router

我目前正在使用Django REST后端构建一个React。我遇到了一个我无法解决的小问题,与路由有关。

这是我的urls.py文件。

urlpatterns = [
    url(r'^api/', include(router.urls)),
    url(r'^admin/', admin.site.urls),
    url(r'^djangojs/', include('djangojs.urls')),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^$', TemplateView.as_view(template_name='exampleapp/itworks.html')),
    url(r'^(?:.*)/?$', TemplateView.as_view(template_name='exampleapp/itworks.html')),
]

使用它,它让反应路由器在前端做它的事情。例如,如果我想转到127.0.0.1:8000/mentors,那么它将转到我为React Router设置的页面。

但是,在前端执行API调用也会返回react页面而不是API端点。因此,每当我删除上面代码中的最后一行:url(r'^(?:.*)/?$', TemplateView.as_view(template_name='exampleapp/itworks.html')),,它就会成功获得以JSON格式返回的API。问题是,当我尝试转到链接时,它将返回Django 404页面而不是我在React Router中设置的React页面。

无论如何,我可以充分利用两个世界吗?

0 个答案:

没有答案