Javascript创建我的html模板表。下面的函数代码在TABLE的for循环中调用,该循环位于ROUND的for循环内。这两个循环由变量(NumberOf)tables
和(NumberOf)rounds
确定,因此它们随使用而变化。数据库需要为每个ROUND中的每个TABLE维护6个字段的记录,但由于多种原因,这些字段名称尚未编程(但是?)从一个ROUND / TABLE实例到另一个实例:不清楚如何这样做以某种方式与jeehaw一起使用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来协调这两者。
答案 0 :(得分:0)
经过进一步分析,我将尝试重写我的Python代码,以完成现在使用javascript完成的大部分处理,希望可以最小化数据和代码的不匹配。我希望通过提出这个问题来获得避免这种重写的方法。
或者为了最大限度地减少Python重新编码,因为有很多javascript代码未显示也必须重做,我可能会修改javascript代码,以便每个输入名称包含其圆形和表值:例如,而不是{{1第1轮和第1页中的parent1,name="parent1"
.Python代码应该能够解析self.request.get这样的名称,并希望jinja2模板响应不会太麻烦,无法创建和解析,但我不期待开发额外的jinja2。也许可以使用suggested here的想法。我欢迎任何进一步的建议。