title: Django complete form as signed up user
body: <p>After you sign up, you are prompted to a page that contains a form used for gathering additional information about the new user and after that it redirects you to the login page. The problem is that the form doesn't submit if i don't specify the {{form.user}} instance in the html file. Probably because the user_id is not recognized by default. When i specify it, the form let me chooses from already existing users, and i would like it to go with the logged in user by default.</p>
  <p>views.py</p>
  <pre><code>class CreateInfoView(CreateView):
      model = AdditionalInfoModel
  
      form_class = AdditionallnfoModelForm
      template_name = &quot;user_ski_experience/additional_info.html&quot;
  
      def get_form_kwargs(self):
          variable_to_send = super(CreateInfoView, self).get_form_kwargs()
          variable_to_send.update({'pk': None})
          variable_to_send.update({'pk_user': self.request.user.pk})
          return variable_to_send
  
      def form_valid(self, form):
          form.instance.created_by = self.request.user
          return super().form_valid(form)
  
      def get_success_url(self):
          return reverse('login')
  </code></pre>
  <p>forms.py</p>
  <pre><code>class AdditionallnfoModelForm(forms.ModelForm):
      class Meta:
          model = AdditionalInfoModel
          fields = '__all__'
  
      def __init__(self, pk,  *args, **kwargs):
          pk_user = kwargs.pop('pk_user')
          super(AdditionallnfoModelForm, self).__init__(*args, **kwargs)
          self.pk = pk
  
          self.fields['user'].disabled = True
          self.fields['user'].initial = pk_user
      
          for el in self.fields:
              self.fields[el].label = False
  
      def clean(self):
          return self.cleaned_data
  </code></pre>
  <p>How can i solve this ?</p>