django crispy表单字段中的前置或追加图标

django crispy表单字段中的前置或追加图标,django,django-forms,django-crispy-forms,Django,Django Forms,Django Crispy Forms,我在表单中有以下字段: <div class="form-group "> <div class="input-group"> <input class="form-control" id="To" name="To" placeholder="To" type="text"/> <i class="glyphicon glyphicon-map-marker form-control-feedback"></i> <

我在表单中有以下字段:

<div class="form-group ">
 <div class="input-group">
  <input class="form-control" id="To" name="To" placeholder="To" type="text"/>
  <i class="glyphicon glyphicon-map-marker form-control-feedback"></i>
 </div>
</div>
但是我得到了一个
语法错误:无效语法

是否可以在crispy forms
中添加图标作为PrependedText? 如果没有,还有其他选择吗

(编辑)

尝试

self.helper.layout = Layout(
                        Field(PrependedText('From', HTML('<span class="glyphicon glyphicon-map-marker"></span>')), placeholder='From'),
                        'To',
                        'Date',
                        ButtonHolder(
                            Submit('submit', 'Search', css_class='button white')
                        )
                    )
self.helper.layout=布局(
字段(前置文本('From',HTML(''),占位符('From'),
"到",,
“日期”,
钮扣工(
提交('Submit','Search',css_class='button white')
)
)
不会引发任何错误,但不会显示任何图标。

self.helper.layout=layout(
self.helper.layout = Layout(
   Div(HTML('''
       <div class="input-group"> 
         <input class="form-control" id="To" name="To" placeholder="To" type="text"/>
         <i class="glyphicon glyphicon-map-marker form-control-feedback"></i> 
       </div>'''), 
      class="form-group") 
Div(HTML(“”) '''), class=“表格组”)
使用字形图标的替代方法是使用类似的unicode符号:

self.helper.layout = Layout(
            Field(PrependedText('From', '&#x1f4cc'), placeholder='From'),
            Field(PrependedText('To', '&#x1f4cc'), placeholder='To'),
            Field(PrependedText('Date', '&#x1f4c5'), placeholder='Date'),
            FormActions(ButtonHolder(Submit('submit', 'Search', css_class='btn btn-primary')))
        )
这里的问题是,由于某种原因,砂矿夹不起作用


还请注意,在unicode符号中添加
”和#xFE0E;
,以强制其不呈现为表情符号(如建议的那样),似乎不起作用。

只需使用django的mark#u安全帮助程序,如下所示:

来自django.utils.safestring导入标记\u safe
字段(前置文本('From',
mark_安全(“”)),
占位符='From')

这适用于占位符:

self.helper = FormHelper()
self.helper.form_show_labels = False

self.helper.layout = Layout(
    Field(
        PrependedText('email',
                      mark_safe('<span class="glyphicon glyphicon-envelope"></span>'),
                      placeholder=_("Enter Email"), autofocus="")
    ),
    Field(
        PrependedText('name',
                      mark_safe('<span class="glyphicon glyphicon-user"></span>'),
                      placeholder=_("Enter Full Name"))
    ),
self.helper=FormHelper()
self.helper.form_show_labels=False
self.helper.layout=布局(
场(
PrependedText('电子邮件',
安全标记(“”),
占位符=(输入电子邮件),自动聚焦=)
),
场(
PrependedText('名称',
安全标记(“”),
占位符=(输入全名)
),

谢谢你的回答@NeErAj。这看起来像是将该字段的完整html硬编码为crispy forms,这对我来说没有多大意义。难道没有更优雅的方式只需要修改图标本身的信息吗?crispy form不适合自定义表单设计。你必须使用html硬编码进行设计n形式。
self.helper = FormHelper()
self.helper.form_show_labels = False

self.helper.layout = Layout(
    Field(
        PrependedText('email',
                      mark_safe('<span class="glyphicon glyphicon-envelope"></span>'),
                      placeholder=_("Enter Email"), autofocus="")
    ),
    Field(
        PrependedText('name',
                      mark_safe('<span class="glyphicon glyphicon-user"></span>'),
                      placeholder=_("Enter Full Name"))
    ),