Django-Form 양식 및 ModelForm
9699 단어 Django
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.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')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.