我可以在 django 项目中使用反应路由器吗?

Posted

技术标签:

【中文标题】我可以在 django 项目中使用反应路由器吗?【英文标题】:Can I use react router in django project? 【发布时间】:2019-03-01 19:14:07 【问题描述】:

我有一个项目,前端使用 React,后端使用 Django。

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

<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 错误。

【问题讨论】:

【参考方案1】:

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

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

我不确定如何使用 path 来执行此操作,但我之前已经找到了它。可能是

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

请告诉我这是否有效,这样我就可以回家使用它了 :)

【讨论】:

我用过re_path,效果很好!非常感谢你! 很好,我刚刚得到了我的第一个答案!谢谢楼主!

以上是关于我可以在 django 项目中使用反应路由器吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在同一个项目中拥有 Django url 和 Vue 路由吗?

我可以将反应路由器链接与 CardActionArea 一起使用吗?

我可以在单反应原生项目中同时使用 redux 和 Flux 吗?

我可以在我的反应原生项目中使用引导模板吗

保护私有反应组件

我可以使用带有反应的节点模块吗