zoukankan      html  css  js  c++  java
  • django中forms和modelform组件的区别

    首先,我们来看看modelform的实现

    model.py
    class Book(models.Model):
        title=models.CharField(max_length=32)
    price=models.DecimalField(max_digits=8,decimal_places=2)
    pub_date=models.DateField()
    publish=models.ForeignKey("Publish")
    authors=models.ManyToManyField("Author")
    def __str__(self): return self.title

    forms.py
    #Modelform将一个model转化成一个form组件
    class BookModelForm(forms.ModelForm):
    class Meta:
    model=models.Book
    fields="__all__"
    这一步做的事情相当于下面的代码
    '''
    class BookModelForm(form.Form):
    title=forms.CharField(max_length=32)
    price=forms.IntegerField()
    pub_date=forms.DateField()

    '''

     下面看看forms组件里面的内容:里面包含了很多的类和插件,并且包含了modelform组件

    """
    Django validation and HTML form handling.   #Django验证和HTML表单处理
    """  
    from django.core.exceptions import ValidationError # NOQA
    from django.forms.boundfield import * # NOQA
    from django.forms.fields import * # NOQA
    from django.forms.forms import * # NOQA
    from django.forms.formsets import * # NOQA
    from django.forms.models import * # NOQA
    from django.forms.widgets import * # NOQA

     下面定位到modelform:它继承了BaseModelForm

    class ModelForm(six.with_metaclass(ModelFormMetaclass, BaseModelForm)):
        pass
  • 相关阅读:
    JS Function Arguments
    C# CuttingEdge.Conditions 验证帮助类库 文档翻译
    JS AngualrJs 指令
    每日踩坑 2018-06-19 AutoMapper简单性能测试
    C# 集合类-使用
    工具 EZDML表结构设计器
    unittest的discover方法
    转:unittest的几种运行方式
    unittest学习5-断言
    unittest学习4-跳过用例执行
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/10704110.html
Copyright © 2011-2022 走看看