Ответ 1
Вы должны определить метод __init__ вашей формы, например:
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
конечно, вы не можете получить доступ к self.site_id до тех пор, пока объект не будет создан, поэтому строка:
height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))
не имеет смысла. Вы должны добавить атрибут в виджет после создания формы. Попробуйте что-то вроде этого:
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
self.fields['height'].widget = forms.TextInput(attrs={'size':site_id})
height = forms.CharField()
(не проверено)