I’m trying to edit the form label in Django using a class that looks like this:
from django import forms
class Form(forms.Form):
e = {}
gender = forms.ChoiceField(choices = ())
#_remaining variables_
def __init__(self, lang):
t = Translation.objects.get(template_file = 'VirasatForm')
startcount = t.id +1
endcount = t.page_entries.count() + t.id + 1
for i in range(startcount, endcount):
w = t.page_entries.get(id = i).template_file
if lang == 'en':
r = t.page_entries.get(id = i).enTranslate
elif lang == 'lsd':
r = t.page_entries.get(id = i).lsdTranslate
elif lang == 'ar':
r = t.page_entries.get(id = i).arTranslate
self.e[w] = r
super(Form,self).__init__(self, lang)
self.fields['gender'].choices = (('m',self.e['Male']),('f',self.e['Female']))
self.fields['gender'].label = self.e['gender'])
The problem here is that all I’m getting is AttributeError: ‘unicode’ object has no attribute ‘get’
Thanks in advance
You can create a form dynamically like this:
Example usage: