提问人: 提问时间:7/1/2023 更新时间:7/1/2023 访问量:19
参数不传递给 Flask 中的其他页面
The parameter dont pass to the other page in flask
问:
因此,我有html页面来选择字体并重定向用户以生成具有所选字体名称的页面:
<form action="{{ url_for('logo_fonts') }}" method="post">
<button type="submit" class="generate-button">
توليد <i class="fa fa-arrow-right"></i>
</button>
<div class="container">
{% for font in fonts %}
<div class="card">
<img src="{{ url_for('static', filename=font['image']) }}" alt="{{ font['name'] }}" class="font-image" data-font="{{ font['name'] }}">
<div class="font-details">
<hr class="separator">
<h3 class="font-name">{{ font['name'] }}</h3>
<img src="{{ url_for('static', filename=font['example_image']) }}" alt="{{ font['name'] }} Example" class="font-example">
</div>
<input type="checkbox" name="selected_fonts[]" value="{{ font['name'] }}" style="display: none;">
</div>
{% endfor %}
</div>
</form>
<script>
$(document).ready(function() {
$(".card").click(function() {
$(this).toggleClass("selected");
var checkbox = $(this).find("input[type=checkbox]");
checkbox.prop("checked", !checkbox.prop("checked"));
});
});
</script>
</body>
<script>
function toggleCardSelection(card) {
card.classList.toggle('selected');
}
</script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$(".card").click(function() {
$(this).toggleClass("selected");
});
});
</script>
我想将字体名称作为参数传递给生成页面,这是我 app.py:
@app.route('/logo_fonts', methods=['POST', 'GET'])
def logo_fonts():
logo_name = session.get('logo_name')
selected_colors = session.get('selected_colors')
selected_industry = session.get('selected_industry')
fonts = [
{
'name': 'Modern Font',
'image': 'img/fonts/modern.svg',
'example_image': 'img/fonts/examples/modern.svg'
},
{
'name': 'Handwritten Font',
'image': 'img/fonts/handwritten.svg',
'example_image': 'img/fonts/examples/handwritten.svg'
},
{
'name': 'Elegant Font',
'image': 'img/fonts/elegant.svg',
'example_image': 'img/fonts/examples/elegant.svg'
},
{
'name': 'Slab Font',
'image': 'img/fonts/slab.svg',
'example_image': 'img/fonts/examples/slab.svg'
},
{
'name': 'Futuristic Font',
'image': 'img/fonts/futuristic.svg',
'example_image': 'img/fonts/examples/futuristic.svg'
},
{
'name': 'Playful Font',
'image': 'img/fonts/playful.svg',
'example_image': 'img/fonts/examples/playful.svg'
},
]
if request.method == 'POST':
selected_fonts = request.form.getlist('selected_fonts[]')
session['selected_fonts'] = selected_fonts
return redirect(url_for('generate'))
return render_template('logo_fonts.html', logo_name=logo_name, logo_colors=selected_colors,
selected_industry=selected_industry, fonts=fonts)
@app.route('/generate', methods=['POST', 'GET'])
def generate():
selected_fonts = request.form.getlist('selected_fonts[]')
return render_template('logo_maker.html', selected_fonts=selected_fonts)
当它重定向到生成页面并且我打印选定的字体名称时,它会给我输出:“[]” .help please
答: 暂无答案
评论
generate
request.form
generate