首先,我对编程非常陌生,对python有比较基本的了解,对html也有一般的理解。在
使用我在python中所知道的,我试图创建一个基本的战略游戏,有点像帝国时代,或命令和征服,基于收集资源和使用它来建立东西,除了使用简单的文本或按钮点击式界面。我可以做一个文本界面很好,但它有点无聊,我想用一些图像。我有一个关于tkinter的一个小时的讲座,但是我试着从中得到任何可以远程“使用”的东西,但是没有成功。我能做的,就是做一个好看的html页面,这将很好地满足我的目的。在
我想知道的是,是否有一种简单的方法可以通过html页面执行python函数和调用/显示python变量?python函数执行所有的逻辑并显示变量,这些变量表示当前的资源水平、生产、存储能力、建筑物的级别等。在最基本的级别上,我只需要一种显示这些变量的方法,并有按钮来执行一个函数,比如说,升级一个建筑,它会重新计算生产等,并返回新的值集。在
举个简单的例子:
<p> Wheat production: *python integer representing production*</p>
<button type="button" onclick="*execute python variable*">Upgrade Wheat</button>
我想,还需要以某种方式更新html页面上更改的变量。所以按钮执行了一个功能来升级小麦产量,python现在有了小麦产量变量的新值,这需要在页面上更新,不管是自动的还是通过其他方法。我想最简单的方法是按下按钮也可以重新加载页面,但这似乎有点笨拙。在
有人知道一个简单的方法吗?或者一个python库可以帮到我吗?在
是的,这是有办法的。在
有两种方法可以解决这个问题。一种方法是在服务器上完成所有工作,另一种方法是使用Javascript。在
第一种方法是:编写一个python脚本来生成HTML。如果你使用Django,你会为你完成很多工作,但是你也会得到很多你不想要的东西。Django有一个内置的模板语言。Django超出了这个答案的范围。您将完全按照上面描述的方式进行操作;模板的一个例子可能是
<p> Wheat production: {{wheat_production}}</p>
-您的python代码将设置一个dictmydict={"wheat_production":10}
,您将把模板文件的名称和dict传递给一个函数,该函数将输出您的页面。如果你还没有学习HTML表单,你还必须学习HTML表单。在另一种方法是使用Ajax-Javascript,当页面显示时(也许,当点击按钮时,或者定期)将发送/接收一些数据,以允许您更新页面。我建议调查JQuery为您做一些提升。这意味着您可以更新页面的一部分而不必重新加载整个页面。您仍然需要在服务器上编写一些代码来与数据库对话,并将输出(通常是JSON)发送回客户机。在
在编写此类内容时,请确保您的所有安全性都在服务器端,不要信任用户告诉您的任何内容。例如,如果您在表单的某个字段中存储了黄金的数量,则某人需要大约10秒才能给自己想要的黄金量。类似地,如果一个玩家能以20个金币卖出一颗钻石,那么在给他们金币之前确保他们已经拥有了钻石——你不想让一个玩家得到1000000个金币而负1000个钻石。Javascript是100%不安全的,Javascript能做的任何事,玩家也能做到。在
看看http://pyjs.org/
您可以将Python程序编译为javascript,也可以使用它们的Python库来生成HTML。下面是他们的getting started指南中的一个示例:
相关问题 更多 >
编程相关推荐