изменение функции на класс Python - PullRequest
0 голосов
/ 04 июля 2019

Я использую версию 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' Всем, кому нужна помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...