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

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值