传递数据自视图.py至表单.py

2024-09-27 00:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从我的视图.py给我的表单.py页。我正在使用FormWizard,但是我认为它在这里不重要。你知道吗

你知道吗视图.py你知道吗

def get_context_data(self, form, **kwargs):
    context = super(CheckoutWizard, self).get_context_data(form=form, **kwargs)
    kwargs = super(CheckoutWizard, self).get_form_kwargs()

    def get_form_kwargs(self):
        kwargs = super(CheckoutWizard, self).get_form_kwargs()
        kwargs.update({'first_name': 'james'})
        kwargs.update({'last_name': 'bond'})
        form = CreditCardForm(kwargs)
        return kwargs

你知道吗表单.py-信用卡形式

def __init__(self, *args, **kwargs):

    for a in args:
        for key in a:
            print("key: %s , value: %s" % (key, a[key]))

    super(CreditCardForm, self).__init__(*args, **kwargs)

在上面的forms文件中,我使用嵌套循环访问*args中的数据,因为如果我调用args而不使用*

({'first_name': 'james', 'last_name': 'james'},)

我相信这是一个元组,里面有一本字典。你知道吗

我见过其他人使用**kwargs的解决方案。我目前的解决方案感觉有点黑客,所以如果有一个更正确或更简单的方法来做这件事我感谢帮助。在视图中,我将添加到kwargs,然后在args中访问该数据,这对我来说也很奇怪。如能就分歧作出任何解释,我们将不胜感激。你知道吗

谢谢!你知道吗


Tags: keynamepyselfform视图表单get
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:21
def get_form_kwargs(self):
    kwargs = super(CheckoutWizard, self).get_form_kwargs()
    kwargs.update({'first_name': 'james'})
    kwargs.update({'last_name': 'bond'})
    # this will be called by cvb like form_class(**self.get_form_kwargs())
    # because you miss ** so you get your kwargs in arg
    # form = CreditCardForm(**kwargs)
    return kwargs


def __init__(self, *args, **kwargs):
    first_name = kwargs.pop('first_name')
    last_name= kwargs.pop('last_name')
    super(CreditCardForm, self).__init__(*args, **kwargs)

相关问题 更多 >

    热门问题