python - 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
的模板处理器中有。我不确定为什么会发生这种情况以及如何实例化一个空表单?
解决方案
request
由于您的表单没有默认弹出,
self.request = kwargs.pop("request")
您必须将请求传递给表单。例如:
if request.method == 'POST':
form = Form(request.POST, request=request)
else:
form = Form(request=request)
推荐阅读
- django - 我可以在一个 Django 项目中使用多少个应用程序
- php - 图片上传后背景为白色
- javascript - 离线使用引导程序
- xml - XSLT 2.0 语法问题中的 xsl:key 元素
- reactjs - 从显示组件获取状态
- angular - ng add angular/material @angular/cdk @angular/animations => Schematics/alias "install" 与另一个别名或原理图名称冲突
- excel - 使用VBA转XML,XML Schema应用不一致
- reactjs - 我无法向 react-select 组件添加验证
- sqlite - 在 Flutter 中捕获 DatabaseException
- sql - 如何在“套管”/查看不同条件时区分实体名称的记录?