【问题标题】:Python backend with JS frontend [closed]带有 JS 前端的 Python 后端 [关闭]
【发布时间】:2017-05-12 18:26:47
【问题描述】:

我正在创建一个基于 Python 的 Web 框架,旨在尽可能少地使用 javascript。需要制作像 uilang 这样的轻量级东西来将事件传递给我的 Python 代码。我想这应该是 jQuery 解决方案以某种方式 ping 某种观察者对象(?)。

我发现了一些创建纯 Python 接口(如 Remi)的努力,但仍然不知道应该如何在我的代码中重新实现它。

假设我做了一个这样的课程:

class WebView():
    def __init__(self, template, **callbacks):
        """
        Callbacks are dict, {'object': callback}
        """
        self.template = template
        self.customJS = None
        for obj, call in callbacks:
            self.setCallback(obj, call)

    def __call__():
        """
        Here I return template
        Assume {{customJS}} record in template, to be simple
        """
        return bottle.template(self.template, customJS = self.customJS)

    def setCallback(self, obj, call):
        """
        Build custom js to insert 
        """
        self.customJS += ('<script ....%s ... %s' % (obj, call))

那么,我怎样才能让 JS 将事件从按下按钮传回我的回调?

我知道这个问题可能过于宽泛,但我只是想尽可能地描述一下,因为我真的一点也不了解 JS。

【问题讨论】:

标签: javascript jquery python bottle


【解决方案1】:

问题是您不需要 javascript 来构建 Python Web 框架。如果没有单行 JS,您可以使用 flask 或 django 提供页面。

这些页面在一些表单中是相当静态的,但可以完美运行。

现在,如果您想拥有更多动态内容和交互,您可能需要 JS,并使用 XMLHttpRequests 异步调用您的 python 后端事件。但是为了正确地做到这一点,你应该从学习 JS 开始。

【讨论】:

    【解决方案2】:

    您也可以使用websockets 来实现,但我认为这不是最好的方法。你可以在python端使用websocket-python库,在网站上,你只需在每个按钮点击回调时发送一个websocket消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2017-03-04
      相关资源
      最近更新 更多