方式一:利用class关键字
class Chinese(object):
country='China'
def __init__(self,name,age):
self.name=name
self.age=age
def talk(self):
print('%s is talking' %self.name)
方式二(就是手动模拟class创建类的过程):将创建类的步骤拆分开,手动去创建
def walk(self):
print('=====>', self.name)
class_name = 'Foo'
bases = (object,)
class_dict = {
'x': 1,
'run': walk
}
Foo = type(class_name, bases, class_dict)
print(Foo.__dict__)
field_dict = {}
for que in question_list:
if que.tp == 1:
field_dict['val_%s' % que.id] = fields.ChoiceField(
label=que.caption,
error_messages={'required':'必填'},
widget=widgets.RadioSelect,
choices=[(i, i) for i in range(1, 11)]
)
elif que.tp == 2:
field_dict['option_id_%s' % que.id] = fields.ChoiceField(
label=que.caption,
widget=widgets.RadioSelect,
choices=models.Option.objects.filter(
qs_id=que.id).values_list('id', 'name'))
else:
from django.core.exceptions import ValidationError
from django.core.validators import RegexValidator
field_dict['content_%s' % que.id] = fields.CharField(
label=que.caption, widget=widgets.Textarea, validators=[func, ])
MyTestForm = type("MyTestForm", (Form,), field_dict)