django框架形式组件用法实例详解

  

本文实例讲述了django框架形式组件用法。分享给大家供大家参考,具体如下:

  

在django中形式组件有其强大的功能,里面集合和众多的函数和方法:下面来看一下它的源码

        ”“”   表单类   ”“”      从__future__进口unicode_literals      进口复制   从进口OrderedDict集合      从django.core。进口NON_FIELD_ERRORS例外,ValidationError   # BoundField导入Django 1.9向后兼容   从django.forms。boundfield boundfield # NOQA进口   从django.forms。领域导入字段,FileField   # pretty_name导入Django 1.9向后兼容   从django.forms。进口ErrorDict跑龙套,ErrorList pretty_name # NOQA   从django.forms。小部件进口媒体,MediaDefiningClass   django。跑龙套进口六   从django.utils。编码导入force_text python_2_unicode_compatible   从django.utils。功能导入cached_property   从django.utils。html进口conditional_escape html_safe   从django.utils。safestr进口mark_safe   从django.utils。翻译进口ugettext _      从.renderers进口get_default_renderer      __all__=(“标识”、“形式”)         类DeclarativeFieldsMetaclass (MediaDefiningClass):   ”“”   元类收集字段声明的属性如果行应该有   # CSS类应用。   css_classes=bf.css_classes ()   如果css_classes:   html_class_attr='类=? s”% css_classes      如果errors_on_separate_row和bf_errors:   输出。追加(error_row % force_text (bf_errors))      如果bf.label:   标签=conditional_escape (force_text (bf.label))   标签=bf.label_tag(标签)或“   其他:   label="      如果field.help_text:   help_text=help_text_html % force_text (field.help_text)   其他:   help_text="      输出。追加(normal_row % {   “错误”:force_text (bf_errors),   “标签”:force_text(标签),   “字段”:six.text_type (bf),   “help_text”: help_text,   “html_class_attr”: html_class_attr,   “css_classes”: css_classes,   “field_name”: bf.html_name,   })      如果top_errors:   输出。插入(0,error_row % force_text (top_errors))      如果hidden_fields: #在最后一行中插入任何隐藏字段。   . join (hidden_fields str_hidden=")   如果输出:   last_row=输出[1]   #砍掉后row_ender(如。' & lt;/td> & lt;/tr>”)   #插入隐藏字段。   如果不是last_row.endswith (row_ender):   #这可以发生在as_p()(可能还有其他人   #用户写):如果are> % s & lt;/tr>”   row_ender=' & lt;/td> & lt;/tr>”,   help_text_html=' & lt; br/祝辞& lt;跨类=癶elptext祝辞% s”,   errors_on_separate_row=False)      def as_ul(自我):   “返回这种形式呈现为HTML & lt; li>年代——不包括& lt; ul> & lt;/ul>。”   返回self._html_output (   李normal_row=' & lt; % (html_class_attr) s> %(错误)s %(标签)%(字段)s % (help_text) s”,   error_row=' & lt; li> % s”,   row_ender=' & lt;/li> ',   help_text_html=' & lt;跨类=癶elptext祝辞% s”,   errors_on_separate_row=False)      def as_p(自我):   “返回这种形式呈现为HTML & lt; p>年代。”   返回self._html_output (   normal_row=' & lt; p % (html_class_attr) s> %(标签)%(字段)s % (help_text) s

”,   error_row=' % s ',   row_ender=' & lt;/p> ',   help_text_html=' & lt;跨类=癶elptext祝辞% s”,   errors_on_separate_row=True)      def non_field_errors(自我):   ”“”   返回一个ErrorList没有关联到一个特定的错误   ——也就是。,从Form.clean ()。返回一个空ErrorList如果   都没有。   ”“”   self.errors返回。得到(NON_FIELD_ERRORS self.error_class (error_class=' nonfield '))      def add_error(自我、字段错误):   ”“”   更新的内容“self._errors”。      字段的参数是错误的字段的名称   应该补充道。如果它的值都将被视为错误   NON_FIELD_ERRORS。      错误的参数可以是一个错误,错误的列表,或者一个   字段名称映射到列表错误的字典。我们定义为   一个“错误”可以是一个简单的字符串或的一个实例   ValidationError消息属性设置和我们定义为   列表或字典可以是一个实际的“列表”或“东西”或一个实例   ValidationError的“error_list”或“error_dict”属性设置。      如果“错误”是一本字典,“场”参数* *必须没有和   错误将被添加到字段对应的键   字典。   ”“”   如果不是isinstance(错误,ValidationError):   #正常化ValidationError,让它的构造函数   #做的辛勤工作的输入。   错误=ValidationError(错误)      如果hasattr(错误,“error_dict”):   如果字段不是没有:   提高TypeError (   "“字段”时必须‘没有’‘错误’”   “参数包含多个字段的错误。”   )   其他:   错误=error.error_dict   其他:   错误={字段或NON_FIELD_ERRORS: error.error_list}      场,error_list error.items ():   如果字段不是self.errors:   如果字段!=NON_FIELD_ERRORS和字段不是self.fields:   提高ValueError (   “' % s '没有字段名为“% s”。”% (self.__class__。__name__、字段)   如果字段==NON_FIELD_ERRORS:   自我。_errors(领域)=self.error_class (error_class=皀onfield”)   其他:   自我。_errors(领域)=self.error_class ()   self._errors(领域).extend (error_list)   如果在self.cleaned_data:   德尔self.cleaned_data(领域)      null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

django框架形式组件用法实例详解