DoesNotExist в /register/ Пользователь, соответствующий запросу, не существует

У меня есть некоторые проблемы, с которыми я никогда не сталкивался на этапе разработки. Когда пользователи выполняют некоторые действия, я иногда получаю следующую ошибку.

Изображение страницы ошибки

Что меня действительно расстраивает, так это то, что проект прекрасно работает в локальной среде, и более того, соответствующий объект запроса НЕ существует в базе данных. А также мои поля password1 и password2 не появляются в таблице базы данных, даже если я создал их в form.py.

Я не понял ваш вопрос правильно. Поэтому я просто написал для вас пример проекта.

urls.py

path('login/', user_views.CustomLoginView.as_view(), name='user-login'),
path('logout/', LogoutView.as_view(), name='logout'),
path('register/', user_views.RegisterView.as_view(), name='user-register'),

forms.py

class CustomUserChangeForm(UserCreationForm):
    email = forms.EmailField(required=True)
    profile_image = forms.ImageField(required=False)
    
    class Meta:
        model = User
        fields = ("username", "first_name", "last_name", "email",)
    
    def __init__(self, *args, **kwargs):
        super(CustomUserChangeForm, self).__init__(*args, **kwargs)
    
        self.fields['first_name'].widget.attrs['class'] = 'form-control'
         
        self.fields['first_name'].widget.attrs['pattern'] = '[a-zA-Z]+'
        self.fields['first_name'].required = True
    
        self.fields['last_name'].widget.attrs['class'] = 'form-control'
        self.fields['last_name'].widget.attrs['pattern'] = '[a-zA-Z]+'
        self.fields['last_name'].required = True
    
        self.fields['username'].widget.attrs['class'] = 'form-control'
        self.fields['email'].widget.attrs['class'] = 'form-control'
        self.fields['password1'].widget.attrs['class'] = 'form-control'
        self.fields['password2'].widget.attrs['class'] = 'form-control'
        self.fields['profile_image'].widget.attrs['class'] = 'form-control'
    
        self.fields['first_name'].widget.attrs['placeholder'] = 'First Name'
        self.fields['last_name'].widget.attrs['placeholder'] = 'Last Name'
        self.fields['username'].widget.attrs['placeholder'] = 'Enter your username'
        self.fields['email'].widget.attrs['placeholder'] = 'Enter your email'
    
        self.fields['password1'].widget.attrs['placeholder'] = 'Enter your password'
        self.fields['password2'].widget.attrs['placeholder'] = 'Enter confirm password'
        self.fields['password2'].widget.attrs['data-v-equal'] = '#id_password1'

view.py

class CustomLoginView(LoginView):
    def form_valid(self, form):
        """Security check complete. Log the user in."""
        auth_login(self.request, form.get_user())
        return HttpResponseRedirect(self.get_success_url())


class RegisterView(generic.FormView):
    template_name = 'registration/register.html'
    form_class = CustomUserChangeForm
    success_url = '/login'
    
    def form_valid(self, form):
        base = form.save()
        UserProfile.objects.create(
          user=base,
          profile_image=form.cleaned_data.get('profile_image')
        )
        return HttpResponseRedirect(self.get_success_url())
Вернуться на верх