【问题标题】:Integrating ReactJS SPA with Django将 ReactJS SPA 与 Django 集成
【发布时间】:2018-07-04 22:49:38
【问题描述】:

我有一个 Django 后端正在工作,还有一个 react SPA。

我将 React 构建存储在 Django 静态文件目录中,网页可以正常工作。

但我的问题是 Django 仍然处理例如 404 页面的路由,当用户重新加载路由页面时,它会将它们带到 Django 页面。

【问题讨论】:

    标签: django reactjs single-page-application


    【解决方案1】:

    Django 允许您覆盖负责呈现错误消息的视图。有关详细信息,请参阅文档中的 Error views 和 Customizing error views。您可以覆盖它们来代替您的 react SPA 并处理错误页面的路由和呈现:

    例如在您的 URLconf 中添加此行以覆盖在引发 Http404 错误时将呈现的视图:

    handler404 = 'mysite.views.my_react_spa_view'
    

    【讨论】:

    • 如何覆盖所有路由以呈现一个视图,即 React SPA
    • @Starbody 您能否将您的网址配置添加到您的问题中?路由基本上是匹配请求路由的正则表达式。因此,如果您有一个 SPA,则应该只有一个匹配所有子路由的路由。
    • 我的意思是我希望 Django 路由覆盖对单个视图的所有请求
    • @Starbody 我已经说过了。创建一个匹配每条路由的 url 并让它指向你唯一的视图。
    【解决方案2】:

    你的 url 配置是这样的吗?

    url(r'^', views.Index.as_view())
    

    【讨论】:

    • 我使用的是 Django 2,URL 类似于 path('', views.index)
    • @Starbody 然后改变它,让它看起来像我的
    猜你喜欢
    • 2018-01-07
    • 1970-01-01
    • 2017-01-07
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2022-10-02
    • 2018-03-26
    相关资源
    最近更新 更多