gpt4 book ai didi

twitter-bootstrap - 使用 Bootstrap 选择的 Flask WTForm 渲染

转载 作者:行者123 更新时间:2023-12-03 16:14:16 25 4
gpt4 key购买 nike

这是一个非常简单的问题,但我似乎找不到一个好的答案。

我存储了有关用户选择的现有数据,并希望将该选择呈现为下拉菜单中的选择。

{% macro render_bootstrap_field(field) %}

<div class="form-group {% if field.errors %} error {% endif %}">
<label class="col-lg-2 control-label">{{ field.label }}</label>

<div class="col-lg-8">
{{ field(class='form-control')|safe }}
{% if field.errors %}
{% for error in field.errors %}
<span class="help-inline">[{{ error }}]</span><br>
{% endfor %}
{% endif %}
</div>
</div>
{% endmacro %}}

这是如何呈现的:

{{ render_bootstrap_field(form.gender) }}

它没有显示选择的内容,我想不出除了使用 jquery 手动添加类之外的其他方法,但这会很痛苦。

非常感谢您的帮助!

编辑:忘记包含我的 view.py 函数!所以我确实设置了它

@app.route('/edit_user', methods=['GET', 'POST'])
@login_required
def edit_user():
form = UserInfoForm(g.user.nickname)
form.gender.choices = app.config['GENDER']
form.year.choices = app.config['BIRTH_YEAR']
form.education.choices = app.config['EDUCATION']

if request.method == 'POST' and form.validate_on_submit():
flash("submitting")
g.user.nickname = form.nickname.data
g.user.gender = form.gender.data
g.user.education = form.education.data
g.user.year = form.year.data
g.user.info_complete = True
db.session.add(g.user)
db.session.commit()
return redirect(url_for('edit_user'))

elif request.method != "POST":
form.nickname.data = g.user.nickname
form.gender.data = g.user.gender
form.education.data = g.user.education
form.year.data = g.user.year


return render_template('edit_user.html',
form=form,
user=g.user)

发现问题!

如果您遇到同样的问题 --- 请检查您的编码!我的 unicode 正在抛出正常的字符串。

最佳答案

这不是在模板中完成的,您必须在调用 render_template() 之前在 Form 对象上完成。

例如:

form.gender.data = 'male'

关于twitter-bootstrap - 使用 Bootstrap 选择的 Flask WTForm 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20207448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com