为了账号安全,请及时绑定邮箱和手机立即绑定

Django:在 init 中访问 form_kwargs

Django:在 init 中访问 form_kwargs

繁花如伊 2021-08-24 16:36:53
form_kwargs我__init__在forms.py中定义并且可以直接访问它们。我希望做organizer = kwargs.pop('organizer')等。谁能解释我为什么我可以直接访问这些 kwargs,即使它们应该存储在里面form_kwargs?我目前正在尝试将此行为复制到我的,class BaseReserveFormSet(BaseFormSet):但在那里我无法访问它们kwargs.pop@cached_property    def formset(self):        ReserveFormSet = formset_factory(            ReserveForm,            formset=BaseReserveFormSet,            extra=0        )        return ReserveFormSet(            data=(                self.request.POST                if self.request.method == 'POST'                else None            ),            initial=self.tickets,            form_kwargs={                'organizer': self.request.organizer,                'event': self.request.event,                'user_order_reference': self.request.session.get('order_reference'),                'discount_code_session': self.discount_code,            }        )表格.pyclass BaseReserveFormSet(BaseFormSet):    def __init__(self, *args, **kwargs):        self.discount_code_session = kwargs['form_kwargs']['discount_code_session']        self.event = kwargs['form_kwargs']['event']        # print(kwargs.pop('discount_code_session'))  # Why does this not work?        super().__init__(*args, **kwargs)    class ReserveForm(forms.ModelForm):        class Meta:            model = ReservedItem            fields = ['ticket', 'quantity']        def __init__(self, organizer, event, user_order_reference,                     discount_code_session, *args, **kwargs):            self.organizer = organizer            self.event = event            [...]
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号