【发布时间】:2011-05-22 23:20:45
【问题描述】:
我正在尝试使用如下所示的类在 Django 中编辑表单标签:
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'])
这里的问题是我得到的只是 AttributeError: 'unicode' object has no attribute 'get'
提前致谢
【问题讨论】:
-
你能告诉我们错误发生在哪一行吗?
-
它出现在 self.fields['gender'].choices...