1 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
一種方法是檢查然后在您的視圖中設(shè)置數(shù)據(jù)值。請注意獲取表單后的兩條新行:
@app.route("/colours/<token>/", methods=['GET', 'POST'])
def edit_colours(token):
form = ColoursForm(request.form)
if not form.background_color.data:
form.background_color.data = "#ff00ff"
if request.method == 'GET':
return render_template('colours_edit.html', form=form, token=token)
else: # Request = post
return redirect(url_for('view_scoreboard', token=token))
沒有默認(rèn)值:
默認(rèn)值#ff00ff
:
這是一個(gè)最小的例子,供任何想嘗試的人使用:
from flask import Flask, request, render_template
from wtforms.widgets.html5 import ColorInput
from wtforms import Form, StringField
class ColoursForm(Form):
background_color = StringField(widget=ColorInput())
app = Flask(__name__)
@app.route("/")
def edit_colours():
form = ColoursForm()
if not form.background_color.data:
form.background_color.data = "#ff00ff"
if request.method == "GET":
return render_template("colors_edit.html", form=form)
colors_edit.html和OP一樣(一定要放在templates文件夾里):
<p> {{ form.background_color() }} Pick a color here </p>
我不知道為什么您第一次嘗試設(shè)置默認(rèn)值不起作用。也沒有為我工作。似乎應(yīng)該如此。這個(gè)答案更深入一點(diǎn)。
添加回答
舉報(bào)