web/formfields.py
changeset 1988 b5c5c088bb03
parent 1986 96c0e56cb0cf
child 1989 8c8dead642f7
equal deleted inserted replaced
1987:d495e9ce9367 1988:b5c5c088bb03
    99 
    99 
   100     def __repr__(self):
   100     def __repr__(self):
   101         return self.__unicode__().encode('utf-8')
   101         return self.__unicode__().encode('utf-8')
   102 
   102 
   103     def init_widget(self, widget):
   103     def init_widget(self, widget):
       
   104         if widget is None and self.choices:
       
   105             widget = Select()
   104         if widget is not None:
   106         if widget is not None:
   105             self.widget = widget
   107             self.widget = widget
   106         if isinstance(self.widget, type):
   108         if isinstance(self.widget, type):
   107             self.widget = self.widget()
   109             self.widget = self.widget()
   108 
   110 
   190         super(StringField, self).__init__(**kwargs)
   192         super(StringField, self).__init__(**kwargs)
   191 
   193 
   192     def init_widget(self, widget):
   194     def init_widget(self, widget):
   193         if widget is None:
   195         if widget is None:
   194             if self.choices:
   196             if self.choices:
   195                 self.widget = Select()
   197                 widget = Select()
   196             elif self.max_length and self.max_length < 257:
   198             elif self.max_length and self.max_length < 257:
   197                 self.widget = TextInput()
   199                 widget = TextInput()
   198         super(StringField, self).init_widget(widget)
   200         super(StringField, self).init_widget(widget)
   199         if isinstance(self.widget, TextArea):
   201         if isinstance(self.widget, TextArea):
   200             self.init_text_area(self.widget)
   202             self.init_text_area(self.widget)
   201         elif isinstance(self.widget, Select):
   203         elif isinstance(self.widget, Select):
   202             self.widget.attrs.setdefault('size', 1)
   204             self.widget.attrs.setdefault('size', 1)