학생 클래스에 대한 ModelForm을 만들려고합니다. 이것은 현재 로그인 한 사용자를 Django의 인증 시스템과 내 모델 사이의 일대일 관계로 사용합니다. 내 생명을 구하기 위해 이것을 검증 할 수는 없습니다. 여기에 해당 모델은 다음과 같습니다모델 양식이 OneToOneField (사용자)로 유효성을 검사하지 않습니다.
class student(models.Model):
user_id = models.OneToOneField(User,unique=True)
first_name = models.CharField(max_length=45)
last_name = models.CharField(max_length=45)
#enrolled_classes = models.ManyToManyField('agility_class')
#completed_classes = models.ManyToManyField('agility_class')
email_address = models.EmailField()
phone_number = PhoneNumberField()
training_experience = models.CharField(max_length=500)
#training_materials =
def __unicode__(self):
return self.first_name + " " + self.last_name;
class studentForm(ModelForm):
class Meta:
model = student
내 견해는 다음과 같다 : 어쩌면 나는 과감한 뭔가를 놓친 거지
<form class="form-horizontal" method = 'POST'>
{%csrf_token%}
<fieldset>
<!-- Form Name -->
<legend>Profile</legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input id="first_name" name="first_name" type="text" placeholder="" class="input-large">
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input id="last_name" name="last_name" type="text" placeholder="" class="input-large">
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input id="email_address" name="email_address" type="text" placeholder="" class="input-large">
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="phone_number">Phone Number</label>
<div class="controls">
<input id="phone_number" name="phone_number" type="text" placeholder="" class="input-large">
<p class="help-block">Format: 123-456-7890</p>
</div>
</div>
<!-- Textarea -->
<div class="control-group">
<label class="control-label" for="training_experience">Training Experience</label>
<div class="controls">
<textarea id="training_experience" name="training_experience"></textarea>
</div>
</div>
<input type="hidden" name= "user_id" value ="{{ user.username }}">
<input type="submit" value="submit">
</fieldset>
</form>
:
여기def profile_creation(request):
if request.method == 'POST':
thisform = studentForm(request.POST)
if thisform.is_valid():
thisform.save()
return HttpResponseRedirect('/about')
return render(request, 'profile_registration.html')
이처럼 내 템플릿 형태가 모습입니다 .... 당신의 도움에 미리 감사드립니다.
'유효성 검사'는 무엇을 의미합니까? 네가 가진 문제는 뭐니? – jproffitt
양식을 제출하면 결코 데이터베이스에 저장되지 않습니다. 나는 내 뷰의 .is_valid() 부분으로 초크 포인트를 좁혔다. –
is_valid() 체크를 통과 했습니까? – jproffitt