2013-06-12 103 views
0

下面的代碼是我用Python構建的Google App Engine項目的一部分。我正在輸入x和y(這裏沒有看到),並將其作爲表格以x,y座標作爲表格中的文本打印在此處。另外,我需要做到這一點,當你點擊表格的一個單元格時,它會調用一個函數,它將返回一個字符串讓它彈出。爲了簡單起見,這次只是X和Y。
所以簡而言之,我需要一種方法將一個變量從Python傳遞給HTML,以便它可以傳遞給JavaScript。我怎樣才能做到這一點?html&javascript在GAE中使用Python變量

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>") 
+1

使用jinja模板創建動態HTML。請參閱在GAE上開始使用Python,並使用jQuery獲取元素。 – voscausa

+0

在我學習GAE的2個月中,我從來沒有聽說過忍者,這是錯誤的嗎? – EasilyBaffled

+0

如果你是GAE的新手,Python27入門問題很重要,因爲webapp2。 Jinja2是Python與Python GAE首選的模板庫。我也可以推薦udacity網站開發課程。他們也使用GAE Python27。 – voscausa

回答

1

您可以編寫JavaScript,Python的距離值替換:

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

現在你可以在其他Javascript代碼使用xy

+0

...但不要。使用模板語言,如Jinja。 –

+0

@丹尼羅斯曼,謹慎舉個例子? –