I identified that a more efficient way of doing this would be to call the 
get initial method but for some reason it doesn't seem to trigger the 
function that I'm trying to overriede.

*class NoteCreate(CreateView):*
*    login_url = 'login'*
*    model = Note*
*    form_class = NoteForm*
*    success_url = reverse_lazy('file_status:list')*

*    def get_initial(self):*
*        print(self.kwargs['file_id'])*
*        print('in get initial')*
*        initial = super(NoteCreate, self).get_initial()*
*        initial['file'] = 2*
*        return initial*

Please help me understand. this is really getting frustrating:(

For this one, the text in get initial does not get printed.

What works though is when I don't use Class based view. But I still would 
like to make it work using class based views since my other views are class 
based.

On Monday, December 10, 2018 at 8:47:28 PM UTC+8, Simon A wrote:
>
> I'm trying to pass a parameter from a redirect to the CreateView and to 
> the form.
>
> I have no problem retrieving the value from the redirect to the CreateView.
>
> But my issue is when trying get the value to the form. I'm overriding 
> get_form_kwargs function of my CreateView but when I try to do operations 
> from that function, I'm not able to get any result. I tried to do a print 
> but the print won't display anything.
>
>
> *class NoteCreate(LoginRequiredMixin, CreateView):
>     login_url = 'login'
>     model = Note
>     form_class = NoteForm
>     success_url = reverse_lazy('note:list')
>
>     def get_form_kwargs(self):
>         kwargs = super(NoteCreate, self).get_form_kwargs()
>         kwargs.update({'file_id' : self.kwargs['file_id']})
>         print("im alivveeeeeeeEeeeeeeeeeeeee!")
>         return** kwargs*
>
> the print statement doesn't seem to be working. It does not show anything 
> in the console.
>
> I'm able to render the form with no errors in the console.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ddf41020-5e47-4b82-b766-04df52522152%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to