首页 > 数据库技术 > 详细

05:ModelForm 数据验证 & 生成html & 数据库操作

时间:2017-12-08 19:00:46      阅读:220      评论:0      收藏:0      [点我收藏+]

1.1 ModelForm作用及基本使用

  1、form 作用

      1、功能1:  验证

      2、功能2:  生成html标签(默认功能:保留上次提交的值)

      3、功能3:  数据操作

      4、功能4: HTML Form提交保留上次提交数据

      5、功能5: 初始化页面显示内容

  2、form使用原则

      1、 新url方式操作(一定要用form方式生成html,避免提交刷新页面,丢失当前页面中填的值)

      2、 发Ajax请求时可以不用form生成html标签,仅用form做验证,因为ajax请求本身不刷新页面,不必担心填

           的值会丢失,当然使用form生成html也是可以的

1.2 Meta中可以定义的字段类型

    注意: 导入模块名(fields、widgets)和字段名重复,所以导入时要起个别名。

技术分享图片
from django import forms
from django.forms import fields as Ffields
from django.forms import widgets as Fwidgets
class UserInfoModelForm(forms.ModelForm):

    is_rmb = Ffields.CharField(widget=Fwidgets.CheckboxInput())

    class Meta:
        model = models.UserInfo
        fields = ‘__all__‘
        # fields =  [‘username‘,‘email‘]
        # exclude = [‘username‘]
        labels = {
            ‘username‘: ‘用户名‘,
            ‘email‘: ‘邮箱‘,
        }
        help_texts = {
            ‘username‘: ‘...‘
        }
        widgets = {
            ‘username‘: Fwidgets.Textarea(attrs={‘class‘: ‘c1‘})
        }
        error_messages = {
            ‘__all__‘:{    # 整体错误信息

            },
            ‘email‘: {
                ‘required‘: ‘邮箱不能为空‘,
                ‘invalid‘: ‘邮箱格式错误..‘,
            }
        }
        field_classes = {  # 定义字段的类是什么
            # ‘email‘: Ffields.URLField  # 这里只能填类,加上括号就是对象了。
        }

        # localized_fields=(‘ctime‘,)  # 哪些字段做本地化
Meta中可以定义的字段类型

 

05:ModelForm 数据验证 & 生成html & 数据库操作

原文:http://www.cnblogs.com/xiaonq/p/8006684.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!