Нет необходимости в аргументе req_ses
и всей дополнительной работе, которую вы выполняете, чтобы найти request.user
, поскольку HttpRequest
объекты имеют атрибут user
.
Вот ваш код с некоторыми упрощениями, которые , мы надеемся, исправят проблему:
forms.py:
class RecForm(forms.ModelForm):
def __init__(self, *args, user=None, **kwargs):
instance = profile_models.RecProfile.objects.get(cnxuser=user)
super(RecForm, self).__init__(*args, instance=instance, **kwargs)
views.py:
class CreateRec(BaseView):
template_name = 'test/rec.html'
def get(self, request, **kwargs):
rec_form = RecForm(user=request.user)
return render(request, self.template_name,{
'rec_form': rec_form, 'f_new': True,
})
def post(self, request, **kwargs):
form = RecForm(request.POST, request.FILES, user=request.user)
return render(request, self.template_name,{
'rec_form': rec_form, 'f_new': True,
})
Обновление
class RecForm(forms.ModelForm):
def __init__(self, *args, user=None, **kwargs):
print('args: {}'.format(args))
print('kwargs: {}'.format(kwargs))
print('user: {}'.format(user))
instance = profile_models.RecProfile.objects.get(cnxuser=user)
super(RecForm, self).__init__(*args, instance=instance, **kwargs)