繁体   English   中英

Brython完全是客户端吗?

[英]Is Brython entirely client-side?

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

Brython是否需要服务器端代码,或者我可以廉价地使用它来托管一个页面(例如)Dropbox?

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

一些可能性:

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

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

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

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

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

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

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

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

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

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

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

是的,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备注您不需要在Dropbox上安装html文件,它可以在任何可以访问Internet的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM