zoukankan      html  css  js  c++  java
  • 类属性及对象属性

    class Field(object):
        widget = TextInput  # Default widget to use when rendering this type of Field.
        hidden_widget = HiddenInput  # Default widget to use when rendering this as "hidden".
        default_validators = []  # Default set of validators
        # Add an 'invalid' entry to default_error_message if you want a specific
        # field error message not raised by the field validators.
        default_error_messages = {
            'required': _('This field is required.'),
        }
        empty_values = list(validators.EMPTY_VALUES)
    
        # Tracks each time a Field instance is created. Used to retain order.
        creation_counter = 0
    
        def __init__(self, required=True, widget=None, label=None, initial=None,
                     help_text='', error_messages=None, show_hidden_initial=False,
                     validators=(), localize=False, disabled=False, label_suffix=None):
            # required -- Boolean that specifies whether the field is required.
            #             True by default.
            # widget -- A Widget class, or instance of a Widget class, that should
            #           be used for this Field when displaying it. Each Field has a
            #           default Widget that it'll use if you don't specify this. In
            #           most cases, the default widget is TextInput.
            # label -- A verbose name for this field, for use in displaying this
            #          field in a form. By default, Django will use a "pretty"
            #          version of the form field name, if the Field is part of a
            #          Form.
            # initial -- A value to use in this Field's initial display. This value
            #            is *not* used as a fallback if data isn't given.
            # help_text -- An optional string to use as "help text" for this Field.
            # error_messages -- An optional dictionary to override the default
            #                   messages that the field will raise.
            # show_hidden_initial -- Boolean that specifies if it is needed to render a
            #                        hidden widget with initial value after widget.
            # validators -- List of additional validators to use
            # localize -- Boolean that specifies if the field should be localized.
            # disabled -- Boolean that specifies whether the field is disabled, that
            #             is its widget is shown in the form but not editable.
            # label_suffix -- Suffix to be added to the label. Overrides
            #                 form's label_suffix.
            self.required, self.label, self.initial = required, label, initial
            self.show_hidden_initial = show_hidden_initial
            self.help_text = help_text
            self.disabled = disabled
            self.label_suffix = label_suffix
            widget = widget or self.widget
            if isinstance(widget, type):
                widget = widget()
            else:
                widget = copy.deepcopy(widget)
    
            # Trigger the localization machinery if needed.
            self.localize = localize
            if self.localize:
                widget.is_localized = True
    
            # Let the widget know whether it should display as required.
            widget.is_required = self.required
    
            # Hook into self.widget_attrs() for any Field-specific HTML attributes.
            extra_attrs = self.widget_attrs(widget)
            if extra_attrs:
                widget.attrs.update(extra_attrs)
    
            self.widget = widget
    
            # Increase the creation counter, and save our local copy.
            self.creation_counter = Field.creation_counter
            Field.creation_counter += 1
    
            messages = {}
            for c in reversed(self.__class__.__mro__):
                messages.update(getattr(c, 'default_error_messages', {}))
            messages.update(error_messages or {})
            self.error_messages = messages
    
            self.validators = list(itertools.chain(self.default_validators, validators))
    
            super(Field, self).__init__()
    

      

  • 相关阅读:
    [React]核心概念
    [算法]复杂度分析
    [算法]移除指定元素&strSr()的实现
    [算法]合并链表&删除数组重复项
    php _weakup()反序列化漏洞
    Java 注解详解
    MyBatis入门
    Spring 事务管理
    Spring AOP
    Spring JDBC
  • 原文地址:https://www.cnblogs.com/Fmaj7/p/13150663.html
Copyright © 2011-2022 走看看