Django-Form表单和ModelForm
2018-01-11 21:40
387 查看
1.form.py
2.View.py中可以直接调用save方法。其中AnotherUserForm已经改名为UserAskForm。
3.自定义ModelForm的字段验证,比如正则表达式验证手机号码是否合法。
from django import forms from operation.models import UserAsk class UserAskForm(forms.Form): name = forms.CharField(required=True,min_length=2,max_length=20) mobile = forms.CharField(required=True,min_length=11,max_length=11) course_name = forms.CharField(required=True,min_length=5,max_length=50) #类似DRf的序列化serializers表单 #下面的功能跟上面的一样 class AnotherUserForm(forms.ModelForm): new_fields = forms.CharField(required=True) #可继承字段并新增字段 class Meta: model = UserAsk # fields = "__all__" # 取全部字段 fields = ('name', 'mobile', 'course_name', ) # 指定字段 #还可以定义自动保存到数据库,自动调用save方法。
2.View.py中可以直接调用save方法。其中AnotherUserForm已经改名为UserAskForm。
class AddUserAskView(View): def post(self,request): userask_form = UserAskForm(request.POST) if userask_form.is_valid(): user_ask = userask_form.save(commit=True)
3.自定义ModelForm的字段验证,比如正则表达式验证手机号码是否合法。
class UserAskForm(forms.ModelForm): # new_fields = forms.CharField(required=True) #可继承字段并新增字段 class Meta: model = UserAsk # fields = "__all__" # 取全部字段 fields = ('name', 'mobile', 'course_name', ) # 指定字段 #还可以定义自动保存到数据库,自动调用save方法。 #自定义mobile字段验证 def clean_mobile(self): ''' 验证手机号码是否合法 ''' mobile = self 4000 .cleaned_data['mobile'] #正则匹配手机号码 REGEX_MOBILE = "^1[358]\d{9}$|^147\d{8}$|^176\d{8}$" p = re.compile(REGEX_MOBILE) if p.match(mobile): return mobile #失败抛出自定义失败信息 else: raise forms.ValidationError(u'手机号码非法',code='mobile_invalid')
相关文章推荐
- Django-Form表单验证
- Django教程--Form表单
- Django—Form两种解决表单数据无法动态刷新的方法
- Django Form表单
- 千与千寻django(七)---表单(form)
- Django中的ModelForm与Form
- 循序渐进Python3(十三) --0-- django之form表单
- Django-form表单
- jquery ajax 提交form表单 以及django后台接受
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证
- 如何得到django中form表单里的复选框(多选框)的值( MultipleChoiceField )
- django form表单插件,中间件,缓存,信号
- Django开发中form表单post提交出现403问题解决
- Django基础,Day5 - form表单投票详解
- django form表单验证
- django表单使用forms.ModelForm
- 循序渐进Python3(十三) --1-- django之form表单
- Django之表单form
- Django Form表单