• 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、可以用下面的方法判断是什么请求

  • 相关阅读:
    从壹开始前后端开发【.Net6+Vue3】
    leetcode.2401. 最长优雅子数组
    索尼 toio™ 应用创意开发征文|创新音乐创作工具的诞生
    在Vue中引入echarts以及使用
    能力提高篇--协调能力【对接】
    基于 Kubesphere 流水线的 GitOps 最佳实践
    利用dom4j组装xml
    C++ Reference: Standard C++ Library reference: C Library: cstdio: rewind
    1.4_6 Axure RP 9 for mac 高保真原型图 - 案例5 【旋转的唱片3】进度条_滚动
    mybatis-plus通用业务分页查询封装
  • 原文地址:https://blog.csdn.net/liudefang/article/details/137213164