zoukankan      html  css  js  c++  java
  • 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     #实例名
  • 相关阅读:
    redis基础配置
    brew安装mysql
    iptables 执行清除命令 iptables -F 要非常小心
    nginx反向代理部署nodejs配置
    Starting MySQL... ERROR! The server quit without updating PID file 问题解决
    iframe自适应高度问题
    js正则常用的一些东西
    node.js批量重命名文件
    [转]MySQL5字符集支持及编码研究
    PHP $_SERVER的使用
  • 原文地址:https://www.cnblogs.com/liubailiang/p/11470756.html
Copyright © 2011-2022 走看看