#python-3.x #flask #flask-wtforms
#python-3.x #flask #flask-wtforms
Вопрос:
Я видел этот вопрос везде и перепробовал все.
У меня есть веб-приложение, созданное с помощью Python Flask и Wtform.
Я просто хочу добавить значок :
<i class='mdi mdi-arrow-right-bold-circle ml-2'></i>
в моей кнопке отправки.
Это мой код:
class NewCampaignForm(FlaskForm):
name = StringField('Name of your campaign', validators=[DataRequired(), Length(min=2, max=100)],render_kw={"placeholder": "i.e. : Cold messaging to small businesses..."})
submit = SubmitField('Next<i class="mdi mdi-arrow-right-bold-circle ml-2"></i>')
Я попробовал разметку:
from markupsafe import Markup
submit_value = Markup ('Next<i class="mdi mdi-arrow-right-bold-circle ml-2"></i>')
submit = SubmitField(submit_value)
Это не сработало. Он всегда отображает HTML-код в виде метки вместо того, чтобы отображать его как HTML и отображать значок.
Я видел, что была другая разметка от jinja2:
из jinja2 импортируйте разметку
Это тоже не сработало:-(
У вас есть какие-либо идеи, как отобразить этот значок в моей кнопке отправки?
Комментарии:
1. Эй, ты когда-нибудь находил решение? Я получаю тот же результат, что и вы.
Ответ №1:
Вы не можете поместить HTML в кнопку отправки даже с разметкой, потому что WTForms отобразит значение кнопки, которое вы передали в качестве value
атрибута:
<input id="submit" name="submit" type="submit" value="Next<i class="mdi mdi-arrow-right-bold-circle ml-2"></i>">
В вашем случае вы можете просто написать простой HTML для кнопки отправки вместо использования поля отправки WTForms в шаблоне:
<form method="post">
{{ form.name() }}
<button type="submit">Next<i class="mdi mdi-arrow-right-bold-circle ml-2"></i></button>
</form>