在 Django 中将额外数据附加到 request.POST
append extra data to request.POST in django
我正在开发 Django 中的 pdf 显示功能,
用户以 HTML 形式输入数据,然后可以单击 Preview
按钮以查看 pdf 格式的预览
这些是我 views.py 中的行 return pdf 作为响应
pdf = render_to_pdf('new_pdf.html', params)
return HttpResponse(pdf, content_type='application/pdf')
这里 render_to_pdf()
使用 HTML 模板和普通 python 字典将数据嵌入 html 页面并将其转换为 pdf
我目前正在传递表单 POST 数据作为参数,即
params = {'data':request.POST}
request.POST 看起来像这样
<QueryDict: {'csrfmiddlewaretoken': ['some_random_string_here'], 'client_id': ['26'], 'note_no': ['5']}>
还有一些字段...
现在我可以简单地在 HTML 中使用 {{data.client_id}}
来获取数据
到目前为止一切正常
但我需要为我的参数提供一些额外的数据以在 pdf 上显示
我想知道是否有一种方法可以在 request.POST
中附加我的额外变量,例如
request.POST['credit_type'] = [credit_type]
但这不是一个普通的 python 字典,并且给出
This QueryDict instance is immutable
有什么解决办法吗??
或者我是否必须使用常规方法将键值对附加到我的 params
然后使用它们?
if request.method == 'POST':
updated_request = request.POST.copy()
updated_request.update({'credit_type': [credit_type]})
您可以尝试解压缩 request.POST
字典并添加您自己的键值对。这样你就可以保持原始字典的完整性。
new_dict = {**request.POST, 'custom_key': custom_val}
我正在开发 Django 中的 pdf 显示功能,
用户以 HTML 形式输入数据,然后可以单击 Preview
按钮以查看 pdf 格式的预览
这些是我 views.py 中的行 return pdf 作为响应
pdf = render_to_pdf('new_pdf.html', params)
return HttpResponse(pdf, content_type='application/pdf')
这里 render_to_pdf()
使用 HTML 模板和普通 python 字典将数据嵌入 html 页面并将其转换为 pdf
我目前正在传递表单 POST 数据作为参数,即
params = {'data':request.POST}
request.POST 看起来像这样
<QueryDict: {'csrfmiddlewaretoken': ['some_random_string_here'], 'client_id': ['26'], 'note_no': ['5']}>
还有一些字段...
现在我可以简单地在 HTML 中使用 {{data.client_id}}
来获取数据
到目前为止一切正常
但我需要为我的参数提供一些额外的数据以在 pdf 上显示
我想知道是否有一种方法可以在 request.POST
中附加我的额外变量,例如
request.POST['credit_type'] = [credit_type]
但这不是一个普通的 python 字典,并且给出
This QueryDict instance is immutable
有什么解决办法吗??
或者我是否必须使用常规方法将键值对附加到我的 params
然后使用它们?
if request.method == 'POST':
updated_request = request.POST.copy()
updated_request.update({'credit_type': [credit_type]})
您可以尝试解压缩 request.POST
字典并添加您自己的键值对。这样你就可以保持原始字典的完整性。
new_dict = {**request.POST, 'custom_key': custom_val}