Я использую версию django 1.8.6. Я создал функцию редактирования профиля учащегося, поэтому хочу изменить эту функцию на класс
вот мои views.py
def student_edit_profile(request):
if request.method == 'POST':
info_form = StudentEditProfileInfoForm(request.POST, request.FILES, instance=request.user)
edit_form = StudentEditProfielForm(request.POST, instance=request.user)
if edit_form.is_valid() or info_form.is_valid():
edit_form.save()
info_form.save()
return redirect('student_course_list')
else:
info_form = StudentEditProfileInfoForm(instance=request.user)
edit_form = StudentEditProfielForm(instance=request.user)
return render(request, 'students/student/edit_profile.html', {'edit_form':edit_form,
'info_form': info_form})
else:
info_form = StudentEditProfileInfoForm(instance=request.user)
edit_form = StudentEditProfielForm(instance=request.user)
return render(request, 'students/student/edit_profile.html', {'edit_form':edit_form,
'info_form': info_form})
а также вот мои формы.py
class StudentEditProfielForm(UserCreationForm):
class Meta:
model = User
fields = {
'first_name',
'last_name',
'username',
'email',
'password',
}
class StudentEditProfileInfoForm(forms.ModelForm):
class Meta:
model = StudentProfile
fields = {
'date_of_birth',
'bio',
'gender',
'country',
'address',
'city',
'image'
}
Кто угодно может мне это понадобиться student_edit_profile()
изменение функции на класс, а также, если я зайду по ссылке без входа в систему, появится сообщение об ошибке, подобное этому 'AnonymousUser' object has no attribute '_meta'
Всем, кому нужна помощь.