【问题标题】:How to integrate Django API project with nodejs and react on frontend?如何将 Django API 项目与 nodejs 集成并在前端做出反应?
【发布时间】:2017-03-22 05:05:39
【问题描述】:

我在 Django 中有一个 API 项目,我想将 node js 与 django 一起使用,并且知道您是否可以结合使用 react 来实现我的应用程序的前端,如果可能的话,建议开发这样申请?或者哪个是使用这些技术的更好选择?

在 django 中我正在使用

->Django Rest 框架

Node js 我想用它来为我的应用程序提供实时性

-->Socket.io

反应

-->Redux -->反应路由器

非常感谢您的时间和关注。

【问题讨论】:

    标签: javascript python node.js django reactjs


    【解决方案1】:

    解决方案是放弃单页面应用程序模型,而是让 Django 单独服务每个页面,每个页面都有一个根 React 组件。我们的基本站点组件不会在页面之间更改(例如导航栏、页脚)由 Django 模板提供,并且特定于每个页面的内容(例如扑克界面、排行榜)在 React 中组成。

    1. 放弃SPA,你为什么要说这么可怕的话?! 单页应用程序并不总是解决方案,我们通过 Django 处理页面样板和路由,获得了稳定性(错误仅限于一页)、更轻松的调试、轻松的搜索引擎索引和更轻松的静态页面管理
    2. 当您在 Django 模板中拥有所有页面样板时,为静态内容(例如关于页面、登录页面)创建非 React 页面会容易得多
    3. 无需在后台处理 React 路由器、History API 或异步获取页面内容(稍后将详细介绍我们如何在不刷新的情况下进行页面热加载)

    对于 React 组件

    import React from 'react'
    import ReactDOM from 'react-dom'
    
    const Leaderboard = ({users}) =>
        <div>
            <h1>Featured Players</h1>
    
            {users.map(user =>
                <a href={`/user/${user.username}/`}>
                    {user.username}
                </a>)}
        </div>
    
    
    ReactDOM.render(
        React.createElement(Leaderboard, window.props),    // gets the props that are passed in the template
        window.react_mount,                                // a reference to the #react div that we render to
    )
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2019-10-11
    • 2020-07-15
    • 2020-01-22
    • 2022-01-19
    相关资源
    最近更新 更多