私はJinja2テンプレートでPython Pyramidを使用しています。フォームデータをセッションに保存し、別のHTMLページで取得したいデータを渡すためにどのように変更する必要がありますか?私は、このキーのデータをViews.pyのセッションに保存する方法を知っています(request.session['postal'] = 01934
)。これはDelivery.jinja2のキーではありません。 print (session['postal'])
を使用した場合、これはコマンドプロンプトでのみ表示されますが、HTMLページでは表示されません。誰か助けてくれますか?私はこれの初心者です。Python Pyramid - セッションを使用して別のページにフォームデータを渡す
Views.pyに追加/変更する内容
私のHTML:Delivery.jinja2
<form class="form-horizontal" method="POST">
<div class="form-group">
<label class="control-label col-md-2" for="postal">Postal Code:</label>
<input type="text" class="form-control" id="postal" placeholder="Enter Postal Code" name="postal" />
</div>
<div class="form-group">
<label class="control-label col-md-2" for="address">Detailed Address:</label>
<textarea class="form-control" rows="3" id="address" placeholder="Enter Address" name="address"></textarea>
</div>
<div class="form-group">
<label class="control-label col-md-2" for="unit">Unit No #:</label>
<input type="text" class="form-control" id="unit" placeholder="Enter Unit No" name="unit" />
</div>
<button type="submit" class="btn btn-default" name="submit">Submit</button>
</form>
Views.py
@view_config(route_name='deliveryLink', renderer='templates/deliveryLink.jinja2')
def deliveryLink(request):
print("YAY for gift delivery via Link")
if 'submit_deliverylink' in request.POST:
print("request.POST: ", request.POST)
myform = request.POST
for m in myform:
print("key: ", m, " value: ", myform[m])
session = request.session
session['postal'] = ?
session['address'] = ?
session['unit'] = ?
data = "??"
data_array = data.split(",")
session['data'] = data_array
session['delivery'] = str(data_array)
print (session['delivery'])
return HTTPFound(location='http://localhost:5555/confirmation')
return {}
@view_config(route_name='confirmation', renderer='templates/confirmation.jinja2')
def confirmation(request):
print("YAY for confirmation")
for a in request.POST:
request.session[a] = request.POST[a]
return {}
と私はデータは、この確認ページに表示する前に入力したとしますConfirmation.jinja2
<form class="form-horizontal" method="POST">
<div class="form-group">
<label class="control-label col-md-2" for="postal">Postal Code:</label>
<input type="text" class="form-control" id="postal" name="postal" />
</div>
<div class="form-group">
<label class="control-label col-md-2" for="address">Detailed Address:</label>
<textarea class="form-control" rows="3" id="address" name="address"></textarea>
</div>
<div class="form-group">
<label class="control-label col-md-2" for="unit">Unit No #:</label>
<input type="text" class="form-control" id="unit" name="unit" />
</div>
</form>
こんにちは、返信いただきありがとうございますから、それを呼び出すことができます!このラインはどのように機能するのでしょうか? 'session ['postal'] =?'フォームにキー入力したデータを取得するには? –
私は私の答えを編集し、コメントし、あなたのコードに少し追加します。私はPython Pyramidで動作しませんでしたが、変数 'data'のために何が想定されているのかよくわかりません – SAZ