Flask:从一页到另一页的隐藏值
Flask: Hidden values from one page to another
我已经阅读了其他问题,但仍然无法弄清楚问题出在哪里。
我想从一个页面传递一个隐藏值:dashboard 到另一个:seegoodsrec
希望有人能提供帮助。
我正在使用此表单获取隐藏值:
class customerIDForm(Form):
customerID = HiddenField()
然后在我的仪表板中使用:
@app.route('/dashboard/', methods=['GET', 'POST'])
@login_required
def dashboard():
form = customerIDForm()
customerID = form.customerID.data
return render_template("dashboard.html",form = form)
我觉得到这里还好。但是我无法弄清楚 html 代码。在 table 内,我希望按钮能够提交到我的页面 seegoodsrec:
{% for t in TOPIC_DICT["goodsrec"] %}
<td>
<form method=post action="/seegoodsrec/">
<input type="hidden" name="customerID" value="{{j[0]}}"
<a href="{{t[3]}}"><button type="submit" value=Save class="btn btn-primary"style=
" margin-top: 5px; margin-bottom: 5px; height:44px; margin-right: 15px">
<span class="glyphicon glyphicon-search"></span> {{t[2]}}</button></a>
</form>
</td>
{% endfor %}
值j[0]
是一个变量,取决于您点击的table内的行,按钮应该将值提交到页面seegoodsrec
。 seegoodsrec
是这样设置的:
@app.route('/seegoodsrec/', methods=['GET', 'POST'])
@login_required
def seegoodsrec():
form = customerIDForm()
customerID = request.form.get('customerID')
return render_template("seegoodsrec.html",form = form)
页面 seegoodsrec
不显示来自 j[0]
的值 customerID。非常感谢任何输入,谢谢!我只是在尝试 seegoodsrec:
<p>test{{customerID}}</p>
编辑
抱歉,这么痛苦,但我就是想不出正确的方法。也许我页面上的截图有帮助:
Screenshot from my page
基本上,我需要做的是:当我单击 View Details
时,我只想查看我单击的行中客户的详细信息(取决于 ID)。查看详细信息会将我带到一个名为 seegoodsrec
的新页面。因此,我的想法是将隐藏值传递给页面 seegoodsrec
,即客户 ID。然后我可以使用这个值来只为该客户显示良好的接收者。
非常感谢您的帮助。
你这里做错了。
@app.route('/dashboard/', methods=['GET', 'POST'])
@login_required
def dashboard():
form = customerIDForm()
customerID = form.customerID.data
^ ~~~~~~~~
This doesn't do anything. Consider doing it reverse?
return render_template("dashboard.html",form = form)
此外,GET 和 POST 是不同的。请限制为一个,或编写单独的处理程序。
如果这对任何人有帮助。以下是我的选择方式:
<form method=post action="/seegoodsrec/">
<a href="{{t[3]}}"><button type="submit" name="customerID"
value="{{j[0]|int}}" class="btn btn-primary" style=" margin-top: 5px;
margin-bottom: 5px; height:44px; margin-right: 15px">
<span class="glyphicon glyphicon-search"></span> {{t[2]}}
</button>
</a>
</form>
烧瓶中:
def seegoodsrec():
customerID = request.form.get('customerID')
mySQL3 = SelectGoodsrec(session['ID']) #displayed goodsreceiver with user ID
mySQL8 = SelectGoodsrecSEE(customerID)
c, conn = connection()
x = c.execute("SELECT * FROM goodsrec WHERE Gr_Cm_id = (%s)",
[str(customerID)])
if int(x) < 1:
flash("Please, create a goods receiver for this customer")
mySQL8 获取 customerID 并选择相应的收货人。
我已经阅读了其他问题,但仍然无法弄清楚问题出在哪里。 我想从一个页面传递一个隐藏值:dashboard 到另一个:seegoodsrec 希望有人能提供帮助。 我正在使用此表单获取隐藏值:
class customerIDForm(Form):
customerID = HiddenField()
然后在我的仪表板中使用:
@app.route('/dashboard/', methods=['GET', 'POST'])
@login_required
def dashboard():
form = customerIDForm()
customerID = form.customerID.data
return render_template("dashboard.html",form = form)
我觉得到这里还好。但是我无法弄清楚 html 代码。在 table 内,我希望按钮能够提交到我的页面 seegoodsrec:
{% for t in TOPIC_DICT["goodsrec"] %}
<td>
<form method=post action="/seegoodsrec/">
<input type="hidden" name="customerID" value="{{j[0]}}"
<a href="{{t[3]}}"><button type="submit" value=Save class="btn btn-primary"style=
" margin-top: 5px; margin-bottom: 5px; height:44px; margin-right: 15px">
<span class="glyphicon glyphicon-search"></span> {{t[2]}}</button></a>
</form>
</td>
{% endfor %}
值j[0]
是一个变量,取决于您点击的table内的行,按钮应该将值提交到页面seegoodsrec
。 seegoodsrec
是这样设置的:
@app.route('/seegoodsrec/', methods=['GET', 'POST'])
@login_required
def seegoodsrec():
form = customerIDForm()
customerID = request.form.get('customerID')
return render_template("seegoodsrec.html",form = form)
页面 seegoodsrec
不显示来自 j[0]
的值 customerID。非常感谢任何输入,谢谢!我只是在尝试 seegoodsrec:
<p>test{{customerID}}</p>
编辑
抱歉,这么痛苦,但我就是想不出正确的方法。也许我页面上的截图有帮助: Screenshot from my page
基本上,我需要做的是:当我单击 View Details
时,我只想查看我单击的行中客户的详细信息(取决于 ID)。查看详细信息会将我带到一个名为 seegoodsrec
的新页面。因此,我的想法是将隐藏值传递给页面 seegoodsrec
,即客户 ID。然后我可以使用这个值来只为该客户显示良好的接收者。
非常感谢您的帮助。
你这里做错了。
@app.route('/dashboard/', methods=['GET', 'POST'])
@login_required
def dashboard():
form = customerIDForm()
customerID = form.customerID.data
^ ~~~~~~~~
This doesn't do anything. Consider doing it reverse?
return render_template("dashboard.html",form = form)
此外,GET 和 POST 是不同的。请限制为一个,或编写单独的处理程序。
如果这对任何人有帮助。以下是我的选择方式:
<form method=post action="/seegoodsrec/">
<a href="{{t[3]}}"><button type="submit" name="customerID"
value="{{j[0]|int}}" class="btn btn-primary" style=" margin-top: 5px;
margin-bottom: 5px; height:44px; margin-right: 15px">
<span class="glyphicon glyphicon-search"></span> {{t[2]}}
</button>
</a>
</form>
烧瓶中:
def seegoodsrec():
customerID = request.form.get('customerID')
mySQL3 = SelectGoodsrec(session['ID']) #displayed goodsreceiver with user ID
mySQL8 = SelectGoodsrecSEE(customerID)
c, conn = connection()
x = c.execute("SELECT * FROM goodsrec WHERE Gr_Cm_id = (%s)",
[str(customerID)])
if int(x) < 1:
flash("Please, create a goods receiver for this customer")
mySQL8 获取 customerID 并选择相应的收货人。