Я бы предложил использовать каскадные таблицы стилей (CSS) для форматирования полей, как вы хотите. Предполагается, что HTML фокусируется в основном на макете вашего документа, в то время как CSS может выполнить точную настройку форматирования. Так что добавьте класс в виджет вашей формы;
Например,
class UserForm(forms.Form):
name = forms.CharField(widget = forms.TextInput(attrs={'class':'indented'}))
и затем в CSS вверху шаблона (или перейти к отдельной таблице стилей)
<style type="text/css">
.indented {
text-indent: 20px;
}
</style>
Если бы вы действительно хотели, вы могли бы сделать что-то попроще, например:
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