Actualmente estoy construyendo un React con un backend Django REST. Me he encontrado con este pequeño problema que no puedo superar y que tiene que ver con el enrutamiento.
Aquí está mi archivo 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')), ]
Al usar esto, permite que el enrutador de reacción haga su trabajo en la parte delantera. Por ejemplo, si quisiera ir a 127.0.0.1:8000/mentors
, me llevará a la página que configuré para React Router.
Sin embargo, hacer llamadas a la API en la interfaz también devuelve la página de reacción en lugar del punto final de la API debido a esto. Entonces, cada vez que elimino la última línea en el código anterior: url(r'^(?:.*)/?$', TemplateView.as_view(template_name='exampleapp/itworks.html')),
, entonces obtiene la API devuelto en formato JSON con éxito. El problema ahora es que cuando trato de ir a los enlaces, devolverá la página Django 404 en lugar de la página React que configuré en React Router.
¿Hay alguna forma en que pueda obtener lo mejor de ambos mundos?