Dynamic default value setting for a flask form field

Question:

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 '}'
Asked By: pogo

||

Answers:

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

<div class="controls">
  {{ form.test(size=80, readonly="readonly", value=defname) }}
</div>
Answered By: r-m-n
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.