东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3561|回复: 5
打印 上一主题 下一主题

[课堂笔记] 37、python_django_web开发_由form进化到ModelForm与Ajax表单提交_笔记

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14435
QQ
跳转到指定楼层
楼主
发表于 2017-11-26 20:12:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
37、python_django_web开发_由form进化到ModelForm与Ajax表单提交_笔记

ModelForm
Model与form之间的定义很相似 django可以把model转换成form
Modelform可以从model里拿字段也可以自己新增字段
如果你的FORM表单十分贴近数据Model,那么可以用ModelForm来节省大量代码。例如,如果数据模型中需要有3个字段,而且3个字段恰好都需要通过form来提交,那么使用ModelForm省时省力。同时,ModelForm也支持用户的自定义

如果你声明 save(commit=False),那么它就会返回一个还未保存至数据库的对象,这样的话 你可以用这个对象添加一些额外的数据,然后在用save()保存到数据库

是一种异步的操作 是Ajax操作 不会刷新我们的页面  返回json 不返回新页面

Ajax用户表单提交   自定义字段验证

  1. <font size="4"><script>
  2.     $(function () {
  3.         $('#jsStayBtn').on('click', function () {
  4.             $.ajax({
  5.                 cache:false,
  6.                 type:"POST",
  7.                 url:"{% url 'org:user_ask' %}",
  8.                 data:$('#jsStayForm').serialize(),
  9.                 async:true,
  10.                 success: function (data) {
  11.                     console.log(data)
  12. {#                    alert(data)#}
  13.                     if(data.status == 'success'){
  14.                         $('#jsStayForm')[0].reset();
  15.                         alert('提交成功')
  16.                     }else if(data.status == 'fail'){
  17.                         $('#jsCompanyTips').html(data.msg)
  18.                     }
  19.                 }
  20.             })

  21.         })

  22.     })

  23. </script>

  24. def clean_mobile(self):
  25.     """
  26.     对mobile进行验证正则匹配
  27.     :return:
  28.     """
  29.     mobile = self.cleaned_data['mobile']
  30.     REGEX_MOBILE = '^1[358]\d{9}$|^147\d{8}$|^176\d{8}


  31.     p = re.compile(REGEX_MOBILE)
  32.     if p.match(mobile):
  33.         return mobile
  34.     else:
  35.         raise forms.ValidationError(u'手机号码非法', code='mobile_invalid')</font>
复制代码


让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

132

帖子

278

积分

人工智能VIP

Rank: 9Rank: 9Rank: 9

积分
278
沙发
发表于 2017-12-14 14:52:07 | 只看该作者
1
回复

使用道具 举报

0

主题

99

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
板凳
发表于 2018-2-28 20:22:39 | 只看该作者
aqwr


aqwr
回复

使用道具 举报

0

主题

92

帖子

190

积分

注册会员

Rank: 2

积分
190
地板
发表于 2018-6-8 22:19:39 | 只看该作者
非常感谢
回复

使用道具 举报

0

主题

244

帖子

504

积分

高级会员

Rank: 4

积分
504
5#
发表于 2018-12-26 15:46:59 | 只看该作者
谢谢老师
回复

使用道具 举报

1

主题

50

帖子

134

积分

人工智能VIP

Rank: 9Rank: 9Rank: 9

积分
134
6#
发表于 2019-4-4 18:23:48 | 只看该作者
jquery.min.js:5 POST http://127.0.0.1:8000/org/add_ask/ 404 (Not Found)

都没有add_ask这个路径  咋回事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-4-27 05:25 , Processed in 0.175917 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表