pogo
pogo

Reputation: 1550

Dynamic default value setting for a flask form field

I am trying to set the default value for a string field in flask wtforms. The following is my code and it doesn't work.

Code:

from flask.ext.wtf import Form
from wtforms import StringField
class TestForm(Form):
     test = StringField('Test field')

@app.route('display/')
def display():
    dynamicvalue = getdynamicvalue()
    return render_template('test.html', form = form, defname = dynamicvalue)

test.html:

<div class="controls">
  {{ form.test(size=80, readonly="readonly", value={{defname}} }}
</div>

How do I correct this?

The following is the error

{{form.test(size=80, readonly= "readonly", value={{defname}}  }}
TemplateSyntaxError: expected token ':', got '}'

Upvotes: 11

Views: 23535

Answers (1)

r-m-n
r-m-n

Reputation: 15090

you should use one pair of {{ }} brackets in template

<div class="controls">
  {{ form.test(size=80, readonly="readonly", value=defname) }}
</div>

Upvotes: 17

Related Questions