次の点を考慮してください。
python を使用して、来年の家族のために秘密のサンタ スクリプトを作成しています。名前を描画する方法はわかりましたが (以下のコードを参照)、一度だけ実行する必要があります。フラスコフレームワークを使用して、抽選までの日数をカウントダウンするページを作成する予定です(これも理解しました)が、誰かが毎回ではなく、1回だけ抽選を行うようにするにはどうすればよいですかそのページにログオンしますか? 意味がわかりますか?
とにかく、ここに私のコードを示します。
# imports & initial Flask set up above
def do_matchup(names, draw, matches=None):
if matches is None:
matches = []
while names:
member = names.pop()
recipient = choice(draw)
if recipient != member:
matches.append("%s=%s" % (member, recipient))
draw.remove(recipient)
else:
names.append(member)
return matches
@app.route("/")
def index():
now = dt.datetime.now()
draw_date = dt.datetime.strptime('10/1/2013', '%m/%d/%Y')
days = draw_date - now
family = ["member1", "member2", "member3", "member4", "member5", "Me"]
hat_names = [name for name in family]
matchup = do_matchup(family, hat_names)
return render_template("base.html", now=now,
draw_date=draw_date,
days=days,
matchup=matchup)
テンプレートは、{% if now < draw_date %} 「抽選まであと x 日数あります」、{% else %} 「抽選結果を表示する」という基本的な html ページです。
ページが読み込まれるたびに、新しい描画が行われます。抽選を 1 回だけ行い、家族ごとに異なる結果が得られないようにするにはどうすればよいですか?