首页 > 解决方案 > 我可以在 django 项目中使用反应路由器吗?

问题描述

我有一个在前端使用 React 并在后端使用 Django 的项目。

我也在我的项目中使用了反应路由器,代码如下所示:

<BrowserRouter>
    <Switch>
        <Route path="/" exact component={Home} />
        <Route path="/teachers" exact component={Teachers} />
        <Route path="/courses" exact component={Courses}/>
        <Route path="/about" exact component={About} />
        <Route path="/posts" exact component={Posts} />
    </Switch>
</BrowserRouter>

在 django 中,我的 urls 文件如下所示:

urlpatterns = [
    path('', views.index, name="index"),
]

问题是,每当我尝试从反应路由器导航到页面时,我都会从 django 收到 404 错误。

标签: javascriptpythondjangoreactjsreact-router

解决方案


哥们我也有同样的问题。根据我的研究,答案实际上是在 django 中的 url 末尾抛出一个 catch all 。我只能找到旧的方法。

url(r'^(%s)?$' % '|'.join(routes), TemplateView.as_view(template_name='index.html'))

我不知道如何用路径来做,但我之前已经找到了。有可能

re_path(r'.*', views.index)

让我知道这是否有效,这样我就可以回家使用它了:)


推荐阅读