更新0:
在我的代码和下面的解释中有一个微妙但严重的错误,因为我不能将模板上的name
与模板上的hiddenname
进行比较(这只会告诉我用户已经做了一个更改,就像复选框更改告诉我的那样,但是故意没有复选框),我还需要将name
与保留数据存储中的name
的状态进行比较,以查看是否有其他人已经预订了该时间段。所以我不能使用javascript,我必须重写下面的一些代码来进行正确的比较。也许原来的问题仍然是这个问题的标题所建议的。(在其中一条评论中,我错误地说javascript可以工作。)
更新0:
我正在尝试编写一种“警报”,代码建议我在哪里使用Trans
模型和gae数据存储(下面进一步)在我的主应用程序和“警报模板”之间进行通信。我有一些问题。在
最初,我需要在代码的另一部分中使用else:
子句,而不是elif:
子句。当我试图在elif
代码中使用我的警报的更简单版本时,python似乎忽略了self.response.out.write(template.render(path, template_values))
,而是继续执行以下代码,结束了我的条件:return webapp2.redirect("/read/%s" % location_id)
。因此,正如您在我的代码中所看到的,我已经注释掉了被忽略的前一个代码行,并尝试用更类似于后一个代码行的代码替换它,但是后一行指向unexpected
,而不是{else:
和{
最初,我没有预料到我希望从代码中的许多地方调用相同的html模板和Trans模型,所以我没有在使用Trans
的设计中设计一个键、ID或key_名称。现在我很难实现一个如此详细的版本。在
我一直在寻找如何用python制作这样的“警报模板”的示例。它们在javascript中非常简单,但是我尝试在python代码中进行用户输入验证。任何指向示例或文档的指针都将不胜感激。在
weekday_key = db.Key.from_path('Locations',location_id,'Courts', court_id,'Days',weekday)
if name == hiddenname:
pass
elif name != hiddenname and hiddenname == "":
reservation = Reservations.get_or_insert(time[2],parent=weekday_key)
reservation.hour = time[0]
reservation.minute = time[1]
reservation.year = int(year)
reservation.nowmonth = int(nowmonth)
reservation.day = int(day)
reservation.nowweekday = int(nowweekday)
reservation.name = name
reservation.put()
elif name != hiddenname and name!="":
reservation = Reservations.get_by_key_name(time[2],parent=weekday_key)
reservation.hour = time[0]
reservation.minute = time[1]
reservation.year = int(year)
reservation.nowmonth = int(nowmonth)
reservation.day = int(day)
reservation.nowweekday = int(nowweekday)
reservation.name = name
reservation.put()
reason='This was in that time slot already: '
trans = Trans(parent=reservation.key().name()) #this line is iffy
trans.reason=reason
trans.name=hiddenname
trans.put()
iden = trans.key().id() # this is part of the iffy just above
template_values = {'trans':trans}
path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
#self.response.out.write(template.render(path, template_values))
return webapp2.redirect("/unexpected/%s/%d" % (time[2],iden) #more iffy
else:
pass
我的模型在下一个。在
^{pr2}$我的jinja2装备的unexpected.html
模板如下。在
{% extends "base.html" %}
{% block content %}
This unexpected result occurred. {{ trans.reason }}:<emph style="font-weight: bold">{{ trans.name }}</emph>
<br /><br />
<div id="inputdata">
<label>Click the "Ok" button to go back to the previous page so you can elect to edit your entry, or not.
</label>
<button onclick="window.history.back()">Ok</button>
</div>
{% endblock content %}
This question is answered here。这个问题本可以得到答案,但显然给出的信息太多了,没有人看到答案。在
相关问题 更多 >
编程相关推荐