在Django中缩进SelectField中的文本
我正在尝试缩进多选字段中的文本在Django中缩进SelectField中的文本,django,select,space,indentation,Django,Select,Space,Indentation,我正在尝试缩进多选字段中的文本 def __init__(self): super(RegisterFull,self).__init__() sectorList = Sector.objects.all() sArray = [] for s in sectorList: sArray.append((s.id," "+s.__unicode__())) self.fields["subsector"].choices = sArray
def __init__(self):
super(RegisterFull,self).__init__()
sectorList = Sector.objects.all()
sArray = []
for s in sectorList:
sArray.append((s.id," "+s.__unicode__()))
self.fields["subsector"].choices = sArray
我已经试过这个了
sArray.append((s.id," "+s.__unicode__()))
但是,我无法实现我想要的,因为“&”字符被&(当然)替换,并且空的空间被修剪。为什么,当创建html页面时
你能建议一条路吗
谢谢。我建议使用层叠样式表(CSS)来格式化您想要的字段。HTML应该主要关注文档的布局,而CSS可以对格式进行微调。因此,在表单的小部件中添加一个类 e、 g
class UserForm(forms.Form):
name = forms.CharField(widget = forms.TextInput(attrs={'class':'indented'}))
然后在模板顶部添加CSS(或移动到单独的样式表)
编辑:使您的解决方案正常工作(使用
)
我建议使用层叠样式表(CSS)来格式化您想要的字段。HTML应该主要关注文档的布局,而CSS可以对格式进行微调。因此,在表单的小部件中添加一个类 e、 g
class UserForm(forms.Form):
name = forms.CharField(widget = forms.TextInput(attrs={'class':'indented'}))
然后在模板顶部添加CSS(或移动到单独的样式表)
编辑:使您的解决方案正常工作(使用
)
谢谢你的回复,但我想使用multipleechoicefield。列表中有几个项目,并非所有项目都缩进。我想确定服务器端的目标类,并将它们呈现为html。@user763256:我仍然建议使用CSS解决方案,根据服务器端的条件,可能会将CSS类更改为缩进或不缩进。HTML将连续的空格呈现为单个空格。您可以使用不间断空格
,但它不雅观,您必须正确地转义/取消转义html,确保其标记为安全,等等@user763256:请参阅我答案的底部,在这里您标记
以使其在模板中呈现为unicode。小心使用mark_safe
,以免自己容易受到CSRF攻击。例如,如果用户可以创建选项,比如指定出现在多选文本中的外键字段,他们可以链接到javascript代码,这些代码可以做一些你不想做的事情。我想当你建议“文本缩进”时,我一开始误解了。我将“文本索引”样式应用于选项,效果非常好!谢谢你的回复,但我想使用multipleechoicefield。列表中有几个项目,并非所有项目都缩进。我想确定服务器端的目标类,并将它们呈现为html。@user763256:我仍然建议使用CSS解决方案,根据服务器端的条件,可能会将CSS类更改为缩进或不缩进。HTML将连续的空格呈现为单个空格。您可以使用不间断空格
,但它不雅观,您必须正确地转义/取消转义html,确保其标记为安全,等等@user763256:请参阅我答案的底部,在这里您标记
以使其在模板中呈现为unicode。小心使用mark_safe
,以免自己容易受到CSRF攻击。例如,如果用户可以创建选项,比如指定出现在多选文本中的外键字段,他们可以链接到javascript代码,这些代码可以做一些你不想做的事情。我想当你建议“文本缩进”时,我一开始误解了。我将“文本索引”样式应用于选项,效果非常好!
class UserForm(forms.Form):
name = forms.CharField(widget = forms.TextInput(attrs={'style':'text-indent: 20px;'})).
from django.utils.safestring import mark_safe
def __init__(self):
super(RegisterFull,self).__init__()
sectorList = Sector.objects.all()
sArray = []
for s in sectorList:
sArray.append((s.id,mark_safe(" "+s.__unicode__())))
self.fields["subsector"].choices = sArray