我目前正在使用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页面。
无论如何,我可以充分利用两个世界吗?