django 中model form的使用

django中可以把model转换成form

model form实际上就是继承model,它可以调用model的save方法以及定义字段, 其实model form 更多的是解决了重复性的问题

from django import forms
from operation.models import UserAsk
import re
class UserAskForm(forms.ModelForm):
class Meta:
model = UserAsk
fields = ['name', 'mobile', 'course_name']

def clean_mobile(self):
"""
验证手机号码是否正确
"""
mobile = self.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')


from django.http import HttpResponse
class AddUserAskView(View):
"""
用户添加咨询
"""
def post(self,request):
userask_form = UserAskForm(request.POST)
if userask_form.valid():
user_ask = userask_form.save(commit=True)
return HttpResponse("{'status':'success'}",content_type='application/json')
else:
return HttpResponse("{'status':'fail','msg':'添加出错'}",content_type='application/json')


posted @ 2017-10-31 20:53  onlyhold  阅读(368)  评论(0)    收藏  举报