我正在创建一个小的琐事与瓶子游戏,我有一些麻烦。 页面加载时,从数据库中提取一个随机的琐事问题并显示在浏览器中,当页面第一次加载时,服务器自动尝试从表单输入中获取值,并且输入为空(这并不奇怪)。但如果我尝试在输入字段中输入琐事问题的答案,然后单击提交按钮,页面将重新加载,并从数据库中获取下一个琐事问题。我的用户输入从不与当前的琐事问题匹配,因为它总是保留前一个问题的值
如何从用户输入中获取特定数据库查询的值,而不必在提交时重新加载页面并生成新的随机查询
在我的game.py
文件中:
@app.route("/game", method=["POST"])
def game(db):
db.execute("select * from questions order by rand() limit 1")
data = db.fetchall()
guess = ""
name = ""
for d in data:
country_name = d["name"]
if request.POST.the_guess:
guess = request.POST.the_guess.strip()
return bottle.template("temp", data=data)
在我的temp.tpl
中:
<form method="POST" action="/game">
<input type="text" name="the_guess">
<input type="submit" value="guess">
</form>
无论用户是否提交表单,您的请求视图都会执行相同的操作,即
strip
响应(如果提供)李>但是,您必须考虑两种情况
为此,必须将问题ID作为隐藏字段传递,以便知道正确的回答是什么
因此,视图代码必须这样做(我不知道瓶子视图的正确语义,所以将其视为伪代码):
基于
user_feedback
的值,您可以在模板中显示“Correct!”或“错误:”(“信息相关问题 更多 >
编程相关推荐