【发布时间】:2018-02-11 20:52:00
【问题描述】:
Javascript 创建我的 html 模板表。下面的函数代码在 TABLE 的 for 循环内调用,而 TABLE 又在 ROUND 的 for 循环内调用。这两个循环是由变量(NumberOf)tables和(NumberOf)rounds决定的,所以它们会随着使用而变化。数据库需要维护每个 ROUND 中每个 TABLE 的 6 个字段的记录,但这些字段名称尚未编程(还没有?)从一个 ROUND/TABLE 实例到另一个实例不同,原因有多种:目前尚不清楚如何这样做以一种与python数据模型相似的方式;我希望有一个更简单的选择,并且;例如,我不想在 javascript 中使用 jinja 类型的代码使服务器负担过重,正如在 stackoverflow 其他地方提到的那样。
function round1(ROUND,TABLE){
var tt;
tt = ' <div class="table">Table '+ TABLE +''
tt += ' <div class="flex-container partners1">'
tt += ' partners1'
tt += ' <input type="text" maxlength="8" name="partner1" value="name' + Number(1+4*(TABLE-1)) + '"></input>'
tt += ' <input type="text" maxlength="8" name="partner2" value="name' + Number(2+4*(TABLE-1)) + '"></input>'
tt += ' <input type="number" name="score1" >score1</input> '
tt += ' </div>'
tt += ' <p>'
tt += ''
tt += ' </p>'
tt += ' <div class="flex-container partners2">'
tt += ' partners2'
tt += ' <input type="text" maxlength="8" name="partner3" value="name' + Number(3+4*(TABLE-1)) + '"></input>'
tt += ' <input type="text" maxlength="8" name="partner4" value="name' + Number(4+4*(TABLE-1)) + '"></input>'
tt += ' <input type="number" name="score2" >score2</input> '
tt += ' </div>'
tt += ' </div>'
return tt;
}
数据模型如下。我担心将数据发送回服务器并将结果返回模板的处理负担。但我也很困扰如何有效地解析和处理数据项。
class Parties(ndb.Model):
email = ndb.StringProperty()
page = ndb.KeyProperty(kind=Pages)
name = ndb.StringProperty()
tables = ndb.IntegerProperty(default=0)
rounds = ndb.IntegerProperty(default=0)
class Rounds(ndb.Model):
party = ndb.KeyProperty(kind=Pages)
number = ndb.IntegerProperty(default=0)
class Tables(ndb.Model):
party = ndb.KeyProperty(kind=Pages)
number = ndb.IntegerProperty(default=0)
partner1 = ndb.StringProperty(default="")
partner2 = ndb.StringProperty(default="")
partner3 = ndb.StringProperty(default="")
partner4 = ndb.StringProperty(default="")
score1 = ndb.IntegerProperty(default=0)
score2 = ndb.IntegerProperty(default=0)
所以我正在寻找有关如何重写 javascript 或重新设计数据库以及如何构造 python get 和 post template_values 以协调两者的想法。
【问题讨论】:
标签: javascript python