Как добавить значок font awesome в кнопку отправки в Flask Wtform?

#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>