首页 > 解决方案 > Django 键错误:启动表单时出现“template.html”请求时出现 KeyError

问题描述

我正在使用 Pinax-Stripe 库,我想为登录用户创建一个自定义帐户。我正在尝试将 CreateCustomAccountView() 重写为基于函数的视图。原因是我不明白CreateBankAccountView从哪里来,而且在 GitHub 代码中也看不到它。

因此,为简单起见,我有以下形式:

class Form(DynamicForm):
    # some form fields
    def __init__(self, *args, **kwargs):
         self.request = kwargs.pop("request")

视图.py

def view(request):
    if request.method == 'POST':
        form = Form(request.POST)
    else:
        form = Form()
    return render(request, 'dashboard/template.html', {'form': form})

request的模板处理器中有。我不确定为什么会发生这种情况以及如何实例化一个空表单?

标签: pythondjangodjango-formsstripe-payments

解决方案


request由于您的表单没有默认弹出,

     self.request = kwargs.pop("request")

您必须将请求传递给表单。例如:

if request.method == 'POST':
    form = Form(request.POST, request=request)
else:
    form = Form(request=request)

推荐阅读