17

我有一段用 Python 编写的代码。我想将该代码放在网页中。Brython 似乎是将这两件事粘合在一起的最简单方法,但我没有可以在服务器端实际运行代码的服务器。

Brython 是否需要服务器端代码,或者我可以使用(比如)Dropbox 以便宜的价格托管页面吗?

4

4 回答 4

28

Brython 是相当新的,因此正在迅速变化。但是,您几乎可以在任何地方使用它而无需服务器端代码。

一些可能性:

  • 在本地运行,没有任何服务器。您在网络浏览器中打开 html 文件
  • 在免费网站上运行,无需服务器端访问,例如博客。例如,我使用 blogger 在我的博客上演示东西,比如这个交互式面包板
  • 在您可以在服务器端进行操作的主机上运行。这允许您执行 Ajax(相同域 - 检查库中的 ajax 示例),并导入存储在服务器上的库
  • 将 brython 与您最喜欢的 Web 框架和模板引擎集成

为了清楚起见,您的服务器上不需要 python。如果您无法链接到 brython.js 文件,您可以在网页中包含 javascript。

至于语言支持,它确实支持所有基础知识,并且确实支持类、列表解析和一些不太明显的东西,如 eval、dis 等。有一个标准输出和标准错误默认为 Web 浏览器控制台,但可以重定向(有关示例,请参见 brython 网站上的控制台)。它通过 JSObject 与 javascript 库完美集成。它有很好的 HTML5 支持。

英文和西班牙文文档稍微落后于法文文档,因为它们是从法语原文翻译而来的。他们应该在接下来的几天内恢复同步。不过,如果您查看控制台图库,它会让您领略到什么是可能的。

如果您遇到困难,brython 网站上有链接的邮件列表可以提供支持。

我会提供更多示例和链接,但我是新手,所以我对超链接的限制。

于 2013-01-20T03:06:46.263 回答
5

Brython 本身似乎完全是客户端,但这是否足够真的取决于您编写的代码。它不是一个成熟的 Python 解释器,也没有库。您可能希望后端支持它或使用评论中建议的其他客户端解决方案。

鉴于很少有真正的网络托管商支持 Python,我认为 Dropbox 不太可能适合这种情况,以防您也需要在服务器上进行处理。

于 2013-01-19T21:08:42.713 回答
2

我了解到,Brython 并不总是使用 python 代码。

我认为需要澄清的是,虽然您可以通过在本地访问文件以非常有限的容量运行 brython,但(由于 AJAX 要求)您无法导入库 - 甚至不是最基本的库(例如,html、时间)。您确实需要一个基本的 Web 服务器才能运行 brython。

我发现它对基本脚本很有用,因为我的 python 比我的 JS 更好。不过,它似乎打破了更复杂的语法。

于 2013-07-24T11:58:04.583 回答
2

是的,brython 完全是客户方面的。是的,您可以将它与 Dropbox 一起使用。您需要做的是将公共链接复制到 brython.js 文件并将其放在 html 文件的 head 标记中,其中默认文本为:

<script src=...

将公共链接放在引号中并关闭脚本标签。所以代码看起来像:

<html>

    <head>
        <script src="Public Dropbox Link To The brython.js File"></script>
    </head>

    <body onload="brython()">

        <script type="text/python">
        from browser import document, alert

        def echo(event):
            alert(document["zone"].value)

        document['mybutton'].bind('click', echo)
        </script>

        <input id="zone"><button id="mybutton">click !</button>

    </body>

</html>

这是他们在他们的页面上给出的例子。 注意您不需要将 html 文件放在您的保管箱中,它可以在任何可以访问互联网的地方。

于 2015-02-07T13:35:13.843 回答