我對燒瓶框架相當新,並且正在爲webportal創建編輯配置文件頁面。我被困在某一點,無法自動填寫表單。使用SQLAlchemy對象中的數據預填充燒瓶中的WTforms
這裏是我的表單類:
class EditProfile(Form):
username = TextField('Username', [Required()])
email = TextField('Email', [Required()])
about = TextAreaField('About', [Required()])
website = TextField('Website', [Required()])
這是我的函數,用於評估形式。
def editprofile(nickname = None):
if g.fas_user['username'] == nickname or request.method == 'POST':
form = EditProfile()
form_action = url_for('profile.editprofile')
if request.method == 'POST' and form.validate():
if form.username.data == nickname :
query = EditProfile(form.username.data,
form.email.data,
form.about.data,
form.website.data,
)
print query #debug
db.session.add(query)
db.session.commit()
flash('User Updated')
print "added"
return(url_for('profile.editprofile'))
return render_template('profile/add.html', form=form,
form_action=form_action, title="Update Profile")
else:
return "Unauthorised"
而且我對形式的HTML模板是形式是:
{% extends "base.html" %}
{% block title %}
{{ title }}
{% endblock %}
{% block content %}
{% from "_formhelpers.html" import render_field %}
<div id="Edit Profile">
<h2>{{ title }}</h2>
<form method="post" action="{{ form_action }}">
<fieldset>
<legend></legend>
{{ render_field(form.username) }}
{{ render_field(form.email)}}
{{ render_field(form.about)}}
{{ render_field(form.website) }}
</fieldset>
<input type="submit" class="button" value="Save"/>
</form>
</div>
{% endblock %}
我有一個對象,用戶類的。從這個對象我想預先填寫這種形式。我可以如何預先填寫表單中的值。我正試圖在這裏實現編輯配置文件功能。
我仍然有點困惑。一旦我發送我的用戶對象的形式,我需要編輯模板,我想,否則它將如何將正確的正確的領域與模型關聯?由於我的用戶模型和表單類中的數據成員具有不同的名稱。 –
他們爲什麼不同?另外,你能告訴我們模型嗎? – dirn
https://github.com/hammadhaleem/fedora-college/blob/develop/fedora_college/core/models.py 這是我的模特。 –