html&;javascript在GAE中使用Python变量

html&;javascript在GAE中使用Python变量,javascript,python,html,google-app-engine,Javascript,Python,Html,Google App Engine,下面的代码是我用Python构建的Google应用程序引擎项目的一部分。我正在输入x和y(此处未显示),并将其打印为表格,其中x,y坐标作为表格中的文本。此外,我还需要这样做,当您单击表中的一个单元格时,它将调用一个函数,该函数将返回一个字符串,以便它弹出。为简单起见,此时只需再次使用X和Y。 简而言之,我需要一种将变量从Python传递到HTML的方法,以便将其传递到javascript。我该怎么做 def testFunc(self, x, y): return str(x)

下面的代码是我用Python构建的Google应用程序引擎项目的一部分。我正在输入x和y(此处未显示),并将其打印为表格,其中x,y坐标作为表格中的文本。此外,我还需要这样做,当您单击表中的一个单元格时,它将调用一个函数,该函数将返回一个字符串,以便它弹出。为简单起见,此时只需再次使用X和Y。
简而言之,我需要一种将变量从Python传递到HTML的方法,以便将其传递到javascript。我该怎么做

def testFunc(self, x, y):
        return str(x) + " , " + str(y)
    def drawTable(self, row , col):
        write = self.response.write
        write(row)
        write(col) 
        write("<html><body><script> function tableInfo() { alert(\""+ self.testFunc(x, y)+""\");}</script><table>")
        for y in range(row):
            write("<tr>")
            for x in range(col):
                cell = "<td bgcolor=\"#00FF00\" onclick = \"tableInfo(x, y)\">" + str(x) + " " + str(y) + "</td>"
                if x % 2 == 0:
                    cell = "<td bgcolor=\"#FF0000\" onclick = \"tableInfo(x, y)\">" + str(x) + " " + str(y) + "</td>"
                write(cell)
            write("</tr>")    
        write("</table></body></html>")  
def testFunc(self,x,y):
返回str(x)+“,”+str(y)
def绘图台(自身、行、列):
write=self.response.write
写入(行)
写入(col)
写入(“函数tableInfo(){alert(\“”+self.testFunc(x,y)+\“”;}”)
对于范围(行)中的y:
写(“”)
对于范围内的x(列):
单元格=“+str(x)+”“+str(y)+”
如果x%2==0:
单元格=“+str(x)+”“+str(y)+”
写入(单元)
写(“”)
写(“”)

您可以编写Javascript,替换Python中的值:

write("""<html><head>
    <script>
    var x = %d, y = %d;
    </script>
    </head>""" % (x, y))
write(“”
变量x=%d,y=%d;
“%”(x,y))

现在,您可以在其他Javascript代码中使用
x
y

使用jinja模板创建动态HTML。请参阅GAE上的Python入门,并使用jQuery获取元素。在我学习GAE的20个月里,我从未听说过jinja,这是错误的吗?如果您是GAE新手,Python27入门quide非常重要tant,因为webapp2。Jinja2是使用Python27的GAE的首选模板库。我还可以推荐udacity webdevelopment课程。他们也使用GAE Python27……但不要。使用模板语言,如Jinja。