【问题标题】:How to use react with material ui along with python-django如何使用材料 ui 和 python-django 做出反应
【发布时间】:2019-01-27 18:46:08
【问题描述】:

我需要帮助才能在 Web 应用程序中使用材料 ui 组件做出反应。

为多个项目研究过以下关键技术

Materialize CSS, Javascript, Jquery

想在新项目中使用以下关键技术

Material UI, React

使用 react 还是使用 Angular 是个好主意?

如何开始制作一个既有 django 又有与 Material UI 组件反应的项目?

参考资料:

【问题讨论】:

    标签: javascript python django reactjs material-ui


    【解决方案1】:

    前端和后端是两个分开的东西。

    • 您可以使用任何数据库,因为您的后端可以使用它。
    • 您可以使用任何东西作为后端。
    • React/vue/angular 不关心您将如何与服务器通信或使用什么后端。

    您可以从设置前端开发开始,例如使用 facebook-create-react-app,这将设置基本的开发样板。您还需要处理客户端路由(您可以使用react-router,并且您将需要某种方式与您的后端通信,例如使用 ajax 调用以使用 ES6 fetch() 或某些 js 库如 @ 987654323@。

    如何处理后端由您决定,但我建议您使用 RESTfull API with django 与您的前端通信

    【讨论】:

      【解决方案2】:

      我现在正在一个项目中这样做。该项目是使用 Docker 为我设置的,但我建议,它包含得很好。但是如果你不想使用 Docker,你可以使用create-react-app。我会确保它位于与您的 Django 项目不同的目录中,但在同一个 git 存储库中。

      create-react-app 将创建一个开发服务器供您开发前端。

      除了 Material UI 之外,您的 React 代码中还需要一些其他库来满足其他一些需求:

      传统上您会使用 RESTful API,但这些 API 很难很好地设计,并且在可遍历性和随时间变化的能力方面存在限制。我认为 GraphQL 是 Web API 的未来,每个人都应该去看看。

      要在 Django 中实现 GraphQL API,您可以使用graphene-django,它与 Django 的 ORM(模型)很好地集成。它的文档很薄,但我发现它运行良好。

      在客户端,有一些 React 库用于使用 GraphQL API 连接到服务器。我正在使用 Relay,它来自与 React 和 GraphQL 相同的开发人员,但 Apollo 也可能是一个不错的选择,具体取决于其开发状态。

      最终,当您部署项目时,您需要从 create-react-app 或 Webpack 或您用于编译 React 代码的任何东西中编译生产静态文件。然后将静态文件放在可以在您的网站上提供它们的地方。如果您使用的是像 nginx 这样的生产网络服务器,则可以直接提供静态文件而无需到达 Django。

      【讨论】:

        【解决方案3】:

        我为多个项目研究了以下关键技术:

        后端:Python-Django (MySQL)

        前端:实现 CSS、Javascript、Jquery。 我希望在新项目中使用以下关键技术:

        工作是什么意思?如果你能在后端写api。继续用django框架写一些api。

        后端:Python-Django (MySQL) 前端:Material UI、React 所以你们能帮我实现这个吗?

        你所说的工具是什么意思?继续找一个不错的 react + material ui + webpack 样板并启动应用程序。尝试消费 您的后端 api 通过它。

        使用 react 还是使用 Angular 是个好主意?

        长时间讨论,如果您阅读您发布的文章,您会得到这个答案

        我需要切换到其他数据库吗?

        这取决于您的项目

        【讨论】:

          【解决方案4】:

          看看这个https://github.com/owais/django-webpack-loader,这是使用 django 启动 react 构建的好策略(我使用 django rest),您可以在 jinja 模板中使用 html 来注入 react JS 代码

          您可以弹出或使用 config override top 覆盖 react JS https://www.npmjs.com/package/config-override 中存在的默认原生 webpack 配置

          【讨论】:

            【解决方案5】:

            我认为您应该看到 Preact,它集成在任何 MVC 模板中,您可以通过其 id 覆盖模板的某些位置。

            通过此解决方案,您可以在模板表单中注入材料 ui 代码或其他您需要的代码。

            对于您需要使用自定义元素的注入, https://preactjs.com/guide/v10/web-components/#creating-a-web-component

            【讨论】:

              猜你喜欢
              • 2022-01-20
              • 1970-01-01
              • 1970-01-01
              • 2021-12-01
              • 2020-12-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-12-30
              相关资源
              最近更新 更多