Brython完全是客户端吗?

时间:2013-01-19 20:57:06

标签: python brython

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

Brython是否需要服务器端代码,或者我可以用便宜的方式托管使用它的页面(例如)Dropbox?

4 个答案:

答案 0 :(得分:28)

Brython很新,而且正在快速变化。但是,您可以在没有服务器端代码的任何地方使用它。

一些可能性:

  • 在本地运行,没有任何服务器。您在Web浏览器中打开html文件
  • 在免费网站上运行,无需服务器端访问,例如博客。例如,我使用博客来在我的博客上演示内容,例如interactive breadboard
  • 在主机上运行,​​你可以在服务器端做东西。这允许您执行Ajax(相同的域 - 检查库中的ajax示例),以及导入存储在服务器上的库
  • 将brython与您喜欢的Web框架和模板引擎集成

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

至于语言支持,它确实支持所有基础知识并且支持类,列表推导以及一些不那么明显的东西,如eval,dis等。有一个stdout和stderr默认为Web浏览器控制台,但是可以被重定向(请参阅brython站点上的控制台以获取该示例)。它通过JSObject与javascript库集成得很好。它有很好的HTML5支持。

英语和西班牙语文档落后于法语文档,因为它们是用法语翻译的。他们应该在接下来的几天内重新同步。不过,如果你看一下consolegallery,它会让你体验到可能的东西。

在brython网站上链接了邮件列表,以便在遇到问题时提供支持。

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:2)

我已经学会了Brython并不总是使用python代码。

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

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

答案 3 :(得分: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>

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