【发布时间】:2017-03-08 12:22:51
【问题描述】:
我的柜台工作了我很确定我的帖子开始工作了。有人可以看看我的代码并告诉我哪里出错了。代码保持会话计数。我希望忍者按钮为 +2,黑客重置为 1。除了最后两部分外,我都知道了。任何帮助,将不胜感激。
from flask import Flask, session, render_template, url_for, request, redirect
app = Flask(__name__)
app.secret_key = 'F12Zr47j\3yX R~X@H!jmM]Lwf/,?KT'
def sumSessionCounter():
try:
session['counter'] += 1
except KeyError:
session['counter'] = 1
@app.route('/')
def index():
sumSessionCounter()
return render_template('index.html')
def contact():
if request.method == 'POST':
if request.form['ninja'] == session['counter'] + 2:
pass # do something
elif request.form['hacker'] == session['counter'] - session['counter'] + 1 :
pass # do something else
pass # unknown
elif request.method == 'GET':
return render_template('contact.html', form=form)
app.run(debug=True)
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="stylenew.css"></style>
<script type="text/javascript" src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
<script>
</script>
</head>
<body>
<h1>{{session['counter']}}</h1>
<p><input type="submit" name="submit" value="ninja"></p>
<p><input type="submit" name="submit" value="hacker"></p>
</body>
</html>
【问题讨论】:
-
你不应该递减而不是分配
1:session['counter'] -= 1而不是session['counter'] = 1吗? -
这只是由于 = 符号的语法无效而引发错误。
-
您的代码没有意义,
if request.form['ninja']然后执行session['counter'] += 2就是您所解释的预期代码的样子!!! -
是的,所以如果为 ninja 或被黑客点击了提交按钮,则应该使用该功能。然而它不是。至少在我看来应该如此。
-
@DavidHollenbeck 你希望从这行代码
if request.form['ninja'] == session['counter'] + 2中获得什么?