Embed HTML tag in Flask WTForms field

2019-06-02 21:25发布

问题:

I'm using Flask with Jinja2/WTForms to build a login page and I want to customize a "Remember Me" checkbox. To do this, I would like to embed an empty <span> tag into the form's label field. Here is the Jinja2 code in the HTML file:

{{ login_user_form.remember|safe }} {{ login_user_form.remember.label }}

which generates the following HTML:

<input id="remember" name="remember" type="checkbox" value="y"> <label for="remember">Remember Me</label>

However, the following HTML is what I would ultimately like it to be - notice the <span> tag embedded within the label.

<input id="remember" name="remember" type="checkbox" value="y"> <label for="remember"><span></span>Remember Me</label>

回答1:

Include the span tag in your label name and use the safe filter.

remember = YourField(name='<span></span>Remember Me')

And then

{{ login_user_form.remember|safe }} {{ login_user_form.remember.label|safe }}