• ModelForm表单验证


    form与model的终极结合,具有以下功能:验证、数据库操作。

    # 写一个和Model类一一对应的form
    from django import forms
    
    class BookModelForm(forms.ModelForm):
    
        class Meta:
            model = models.Book     #对应的model中的类
            fields = "__all__"  # model类里所有的字段都展示
            # fields = ["title",]   # 指定展示某些字段
            exclude = None    #除了指定字段,其他字段都显示
            labels = {              #设置label标签名
                "title":"书名",
                "phone":"手机号",
                "publish_date":"出版日期",
                "publisher":"出版社",
                "authors":"作者",
            }
            widgets = {             #设置每个字段的插件信息
                "title":forms.widgets.TextInput(attrs={"class":"form-control"}),
                "phone": forms.widgets.TextInput(attrs={"class": "form-control"}),
                "publish_date":forms.widgets.DateInput(attrs={"type":"date","class":"form-control"}),
                "publisher": forms.widgets.Select(attrs={"class": "form-control"}),
                "authors": forms.widgets.SelectMultiple(attrs={"class": "form-control"}),
            }
            error_messages = {      #设置每个字段的报错提示信息
                "publisher":{
                    "required":"必须选一个出版社!"
                }
            }
    class Meta: 常用参数
    model = models.Student  # 对应的Model中的类
    fields = "__all__"  # 字段,如果是__all__,就是表示列出所有的字段
    exclude = None  # 排除的字段
    labels = None  # 提示信息
    help_texts = None  # 帮助提示信息
    widgets = None  # 自定义插件
    error_messages = None  # 自定义错误信息
    instance = book_obj     #实例名
  • 相关阅读:
    开课博客
    高级UI组件(二)
    《梦断代码》读后感(三)
    高级UI组件
    今日总结
    今日总结
    android中关于时间的控件
    单选按钮和复选框
    Android开发中按钮的语法
    布局管理器的嵌套
  • 原文地址:https://www.cnblogs.com/liubailiang/p/11470756.html
Copyright © 2020-2023  润新知