我有一段用 Python 编写的代码。我想将该代码放在网页中。Brython 似乎是将这两件事粘合在一起的最简单方法,但我没有可以在服务器端实际运行代码的服务器。
Brython 是否需要服务器端代码,或者我可以使用(比如)Dropbox 以便宜的价格托管页面吗?
Brython 是相当新的,因此正在迅速变化。但是,您几乎可以在任何地方使用它而无需服务器端代码。
一些可能性:
为了清楚起见,您的服务器上不需要 python。如果您无法链接到 brython.js 文件,您可以在网页中包含 javascript。
至于语言支持,它确实支持所有基础知识,并且确实支持类、列表解析和一些不太明显的东西,如 eval、dis 等。有一个标准输出和标准错误默认为 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>
这是他们在他们的页面上给出的例子。 注意您不需要将 html 文件放在您的保管箱中,它可以在任何可以访问互联网的地方。