등록 양식을 작성하여 DB를 확인하여 사용자의 이메일이 새로운 것인지 확인하고 싶습니다.Django : 사용자 등록의 modelform 코드 작성 방법
하지만 문제는 내가 어떻게 만드는지 모른다는 것입니다. unique = True to Field 및 clean_email() 메소드를 사용해 보았습니다.
나는 2 개의 질문이 있습니다.
1) unique = True 일 때 ValidationError가 발생하면 어떻게 그 오류를 잡을 수 있습니까? 모델의 clean_field() 메소드 을 재정의해야합니까? 어떻게 할 수 있니?
2)이 등록 앱에 대해 어떻게 효율적이고 멋진 코드를 작성할 수 있습니까?
다음은 내가 작성한 소스 코드입니다.
# models.py
from django.db import models
class User(models.Model):
university = models.ForeignKey('University')
mail = models.EmailField(unique=True)
password = models.CharField()
nickname = models.CharField()
class University(models.Model):
name = models.CharField()
mail = models.CharField()
from django.forms import ModelForm
class LoginForm(ModelForm):
class Meta:
model = User
fields = ('mail', 'password')
class RegisterForm(ModelForm):
class Meta:
model = User
def clean_mail():
data = self.cleaned_data['mail']
if User.objects.filter(mail=data).exists():
raise forms.ValidationError("This email is already exists")
# views.py
def register(request):
if request.method == 'POST':
###
if form.is_valid():
나는 이것을 만들기에 너무 혼란 스럽다. https://docs.djangoproject.com/en/dev/ref/models/instances/는
는 '객체 유효성 검사는 "모델 검증의 단계를 안내 :
고마워요! 하지만 어떻게 정보를 얻을 수 있습니다 AbstractBaseUser 및 장고의 기본 제공 메서드에 대한? – nextdoordoc
[포괄적 인 문서] (https://docs.djangoproject.com/en/1.6/topics/auth/customizing/#substituting-a-custom-user-model)를 살펴 보지 않겠습니까? –
한 번 더 물어 볼 수 있습니까? 그러나 unique = 데이터베이스 트러스트 유효성 검사 오류를 표시 할 때 나타나는 오류 메시지를 구성하는 방법은 무엇입니까? 장고 1.5 매뉴얼에서 찾을 수 없습니다 ... – nextdoordoc