我可以在 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 一起使用吗?