• Web框架开发-Form组件和ajax实现注册


    一、注册相关的知识点

    1、Form组件

    我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放

    2、局部钩子函数

    1

    2

    3

    4

    5

    6

    7

    # 局部钩子函数

    def clean_username(self):

        username = self.cleaned_data.get("username")

        valid = models.UserInfo.objects.filter(username=username).first()

        if valid:

            raise ValidationError("用户名已存在!")

        return username

      

    3、全局钩子函数

    1

    2

    3

    4

    5

    6

    # 全局钩子函数:验证两次密码是否一致

    def clean(self):

        if self.cleaned_data.get("password"== self.cleaned_data("password_again"):

            return self.cleaned_data

        else:

            raise ValidationError("两次密码不一致")

      

    4、 jQuery的属性操作相关的

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    attr:

            一个参数是获取属性的值,两个参数是设置属性值

    removeAttr(属性名):

            删除属性值

    prop:

        适应于属性的返回值是布尔类型的(单选,反选,取消的例子)

    removePorp:

        删除属性的值

     

    5、循环的两种方式

    1

    2

    $.each(数组/对象,function(i,v){})

    $("div").each(function(i,v){})

    6、css中的三种隐藏:

    1

    2

    3

    4

    5

    6

    7

    8

    1、display:none    隐藏所有内容

    2、visibility:hidden    隐藏内容

    3、overflow:hidden    隐藏溢出内容

    三者都是用来隐藏的

    区别在于:

        visibility:虽然隐藏了,但是被隐藏的内容依然占据这空间,这段隐藏了的内容却保留空间的位置会在网页中显示空白

        display:隐藏了不占用空间

     

    7、提交二进制数据用FormData 

    1

    2

    3

    4

    5

    6

    7

    var formData=new FormData();

    formData.append("username",$("#id_username").val());

    formData.append("email",$("#id_email").val());

    formData.append("tel",$("#id_tel").val());

    formData.append("password",$("#id_password").val());

    formData.append("password_again",$("#id_password_again").val());

    formData.append("avatar_img",$("#avatar")[0].files[0]);

      加上:

    1

    2

    contentType:false

    processData:false

      

    8、可以用下面的方法判断是什么请求

  • 相关阅读:
    LeetCode70-爬楼梯
    vscode使用restClient实现各种http请求
    Oracle 密码策略详解
    第四届“传智杯”全国大学生IT技能大赛(初赛A组) 补题
    原生HTML Select下拉多选 + vue
    建造者模式
    2024快手校招面试真题汇总及其解答(一)
    Libgdx游戏开发(5)——碰撞反弹的简单实践
    计算机系统(17)----- 进程同步和进程互斥
    分享自己平时使用的socket多客户端通信的代码技术点和软件使用
  • 原文地址:https://blog.csdn.net/liudefang/article/details/137213164