How to override form field in CreateView

前端 未结 2 580
無奈伤痛
無奈伤痛 2020-12-15 12:00

In model form I can override form field like so

class waypointForm(forms.ModelForm):
    def __init__(self, user, *args, **kwargs):
        super(waypointFor         


        
2条回答
  •  别那么骄傲
    2020-12-15 12:59

    To use your model form in your view, set form_class. In your case, you need to override get_form_kwargs as well, so that you can pass user to the form.

    def CreateWaypointView(CreateView):
        ...
        form_class = WaypointForm
    
        def get_form_kwargs(self):
            kwargs = super(CreateWaypointView, self).get_form_kwargs()
            kwargs['user'] = self.request.user
            return kwargs
    

提交回复
热议问题