【问题标题】:Both Python and React/Redux in browser? (WAS: Transcrypt and React/Redux)浏览器中的 Python 和 React/Redux? (WAS:Transcrypt 和 React/Redux)
【发布时间】:2019-05-17 04:36:26
【问题描述】:

我喜欢用 Python 快速制作(有时)相当复杂的系统的原型。另一方面,我也喜欢 UI 的“现代”Web 框架(react、angular)的灵活性和快速开发。所以我试图找到一种将两者结合使用的方法,专门用于我自己的原型设计目的。

例如,我正在使用 React 和 Transcrypt(python 编译为 javascript),它似乎工作得很好。

我找不到工作示例/推荐的方式如何包含 Redux/Flux 或以其他方式将 React 与全局状态(以及最终的 Python 数据模型)连接起来。

有人试过吗?有什么好的文章/例子可以推荐吗?

编辑:澄清一下,我试图在浏览器中同时使用(Python 和现代 Web UI)来实现两件事:

  1. 在 python 中编写所有逻辑(至少对我来说,这对于编码和重构来说都非常快——因此非常适合原型设计)

  2. 使用交互性强且原型制作速度非常快的现代 UI(模板、数据绑定、快速自定义组件等)

【问题讨论】:

    标签: javascript python reactjs redux transcrypt


    【解决方案1】:

    根据您的描述,您可能正在寻找一种方法来做React server side rendering (SSR)。有一个 pip 包:https://github.com/markfinger/python-react

    另一方面,考虑到您正在使用 Transcrypt(恕我直言,这不是最好的主意)并且这仅用于原型设计,您可以将数据传递给通过 Transcrypt 运行的代码。他们实际上在网站上有示例:https://www.transcrypt.org/examples#react_demo

    但您可能需要custom JSONEncoder。考虑下面的代码:

    Hello = React.createClass({
        'getInitialState': lambda: ModelJsonEncoder.encode(CustomModel),
        ...
    })
    
    # Render the component in a 'container' div
    element = React.createElement(Hello)
    render(element, 'container')
    

    希望对您有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    相关资源
    最近更新 更多