2016-11-13 48 views
0

我正在使用帶有3個選項的RadioField,供用戶選擇他們想要的訂閱。該字段的值然後保存到該用戶的數據庫中。當用戶返回到他們的設置頁面時,我想用選定的保存值顯示廣播字段。 這是我目前的RadioFIeld。Flask WTF RadioButton顯示已保存的值

subscription_tier = RadioField('Plan', choices=[(tier_one_amount, tier_one_string), 
(tier_two_amount, tier_two_string), (tier_three_amount, tier_three_string)], 
validators=[validators.Required()]) 

回答

0

您必須將RadioField的數據分配給模型。模型可以是數據庫或簡單的字典。下面是使用字典作爲模型的一個簡單示例:

from flask import Flask, render_template 
from wtforms import RadioField 
from flask_wtf import Form 

SECRET_KEY = 'development' 

app = Flask(__name__) 
app.config.from_object(__name__) 


my_model = {} 


class SimpleForm(Form): 
    example = RadioField(
     'Label', choices=[('value', 'description'), 
          ('value_two', 'whatever')] 
    ) 


@app.route('/', methods=['post','get']) 
def hello_world(): 
    global my_model 
    form = SimpleForm() 

    if form.validate_on_submit(): 
     my_model['example'] = form.example.data 
     print(form.example.data) 
    else: 
     print(form.errors) 

    # load value from model 
    example_value = my_model.get('example') 
    if example_value is not None: 
     form.example.data = example_value 

    return render_template('example.html',form=form) 

if __name__ == '__main__': 
    app.run(debug=True) 
+0

謝謝你,你的幫助將使我的生活變得更好。我會繼續並將其放入並測試它。 – inuasha