ModelForm验证笔记

Form验证
    UserInfoForm  --> Form -->BaseForm(is_valid...)

    UserInfoModelForm -->ModelForm -->BaseModelForm -->BaseForm(is_valid...)



提交表单报错:RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set.
解决方法:
RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set.
提示form的action地址最后不是/结尾的,而且APPEND_SLASH的值是Ture

from的action地址改为/结尾的就可以了
或者
修改settings:APPEND_SLASH=False


ModelForm
1.生成HTML标签:class Meta:....
2.mf=xxxModelForm(instance=ModelObj)
3.额外的标签is_rmb=field.CharField(widget=fwidget.CheckboxInput())
4.各种验证 is_valid()  ->各种沟子
5.mf.save()
    拆开:instance=mf.save(False)
            instance.save() 保存当前对象
            mf.save_m2m()  保存多地多


三种AJAX:
    原生
    jQuery
    AJAX操作


    使用场景:
            如果发送的是普通的数据:jQuery,XMLHttpRequest,iframe
            如果发送的是文件:iframe,jQuery(FormData),XMLHttpRequest(FormData),


验证码
     1.创建一张图片 pip install Pillow
     2.在图片中写入随机字符串
     3.将图片写入到指定文件
     4.打开指定目录文件,读取内容
     5.返回给用户 HttpResponse(data)

 

posted on 2019-07-02 23:35  SZ_文彬  阅读(155)  评论(0编辑  收藏  举报