html - 如何将 <span> 元素添加到从 WTForms 呈现的按钮?

标签 html css flask flask-wtforms wtforms

我正在使用 WTForms 在 Flask 中渲染一个提交按钮,如下所示:

表单.py:

class SignupForm(Form):
    submit = SubmitField("Register") 

登录.html:

<form method="POST" action="/register">
    {{ form.hidden_tag() }}
    {{ form.submit(class_="primary-btn") }}
</form>

它呈现一个如下所示的按钮:

<input class="primary-btn" id="submit" name="submit" type="submit" value="Register">

enter image description here

但我真正想要的是一个按钮元素,我可以在其中添加一个元素,以便我可以添加一个箭头,如下所示:

<button class="primary-btn">Register<span class="lnr lnr-arrow-right"></span></button>

enter image description here

我尝试将 span 元素附加到 SubmitField 中的字符串,但这不起作用。它只是引发了语法错误。

下面你可以看到图片。我只想将箭头添加到 WTForm 元素。

最佳答案

您应该能够使用MarkUpDocumentation here

import flask
submit_value = flask.Markup('<span class="lnr lnr-arrow-right"></span>')
submit_button = SubmitField(submit_value)

并结合您当前的代码...

class SignupForm(Form):
    submit = submit_button 

需要 Markup 函数来告诉您的表单可以安全地渲染而无需转义。

如果您想避免这种情况,还有其他方法。通常,您不需要在 python 中指定提交按钮,因为您通常不需要输入任何有用的数据。我将像您所说的那样手动将提交按钮 HTML 添加到模板中:

<button class="primary-btn" type="submit">Register<span class="lnr lnr-arrow-right"></span></button>

关于html - 如何将 <span> 元素添加到从 WTForms 呈现的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59003271/

相关文章:

html - Datepicker 在 <th> 元素内不工作

python - Py2neo (V4) - 属性错误 : 'Graph' object has no attribute 'find_one'

python - SQLAlchemy 快速搜索

javascript - 对话框函数错误无效函数

html - 将帖子内容分为两栏,一栏固定

html - 如何连续拉伸(stretch)/对齐元素?

css - font-awesome 未在 https 中加载会在 Web 浏览器控制台中给出错误但不会在 http 中给出错误?怎么修

html - 使用 css 更改 html 文本第 2 部分

javascript - 单击父菜单时如何将 + 更改为 -

python - 如何将swaggerhub生成的flask swagger服务器部署到heroku?