【问题标题】:Django urls.py + React routerDjango urls.py + React 路由器
【发布时间】:2021-05-04 03:24:08
【问题描述】:

我构建了一个 Django API 和一个反应前端来使用该 API。我正在使用 react-router 并且可以很好地导航,直到我刷新页面。然后我从 Django 中得到一个 Not Found 错误。

我不确定如何使用 Django 设置这些路径,因此它知道要提供什么服务。

api/urls.py

urlpatterns = [
  path('', views.apiOverview, name='api-overview'),
  path('product-list', views.product_list, name='product-list'),
  path('product/<str:slug>', views.product_detail, name='product-detail'),
  path('images/<str:fk>', views.product_images, name='product_images'),
]

urls.py

urlpatterns = [
    path('', TemplateView.as_view(template_name="index.html"), name='app'),
    path('admin/', admin.site.urls),
    path('api/', include('api.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

app.js

function App() {
  return (
    <Router>
      <Nav />
      <div className="App">
        <Switch>
          <Route path="/products/:slug" exact component={ ProductDetail } />
          <Route path="/products">
            <Projects />
          </Route>
          <Route path="/">
            <div className='container'>
              <Header />
              <hr />
              <h2 className="section-title">Featured Products</h2>
              <ProductsListHome />
            </div>
          </Route>
        </Switch>
      </div>
      <Footer />
    </Router>
  );
}

【问题讨论】:

  • 您是否已经部署了您的应用程序,或者您仍在本地运行它?
  • @JoshMerrian 已部署
  • 部署到netlify了吗?

标签: reactjs django


【解决方案1】:

如果您的应用部署到 Netlify,请将名为 _redirects 的文件添加到您的公用文件夹。然后,添加以下行:

/* /index.html 200

【讨论】:

  • 数字海洋上
  • 好吧,还是试试吧
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-13
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多