0

更新 0:nameテンプレートの内容とテンプレートの内容を 比較することしかできないため、コードと以下の説明に微妙ではあるが深刻なエラーがありますhiddenname(これは、ユーザーがチェックボックスのような変更を加えたことを示すだけです)。変更すると教えてくれますが、意図的にチェックボックスはありません)、予約のデータストアnameのステータスと比較して、name他の誰かがその時間枠を既に予約しているかどうかを確認する必要もあります。したがって、JavaScript を使用することはできず、正しい比較を行うために以下のコードの一部を書き直す必要があります。そして、この質問のタイトルが示唆するように、元の質問が残る場合があります。(コメントの 1 つで、javascript が機能すると誤って言いました。) update 0:

私は、このコードが、Transモデルと gae データストア (後述) を使用してメイン アプリと「アラート テンプレート」の間で通信する場所を示唆する方法で、一種の「アラート」を作成しようとしています。いくつか問題があります。

else:最初は、句ではなく、句のコードの別の部分でこのアラートが必要でしたelif:。コードでアラートのより単純なバージョンを使用しようとしたときelif、python は を無視しているように見えself.response.out.write(template.render(path, template_values))、条件を終了するこのコードに進みました: return webapp2.redirect("/read/%s" % location_id). したがって、私のコードでわかるように、無視された前のコード行をコメントアウトし、後者のコード行に似たものに置き換えようとしましたが、後者の行unexpectedread. 私のコードから、まだ 2 つのアプローチが混在していることがわかります。else:これについて、そしてこれに関して何か違うことは本当にありますelif:か?

当初、コード内の非常に多くの場所から同じ html テンプレートと Trans モデルを呼び出したいとは思っていませんでしたTrans。そして今、私はそのような詳細なバージョンを実装するのに苦労しています.

そのような「アラートテンプレート」を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

次のトランスの私のモデル。

class Trans(db.Model):
    reason = db.StringProperty()
    name = db.StringProperty()

私の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 %}
4

1 に答える 1

0

この質問はここで回答されています。この質問で答えられた可能性がありますが、明らかに情報が多すぎて、誰も答えを見ませんでした。

于 2012-09-24T15:27:41.043 に答える