django - 将额外数据附加到 Django 中的 request.POST

标签 django django-templates http-post

我正在 Django 中开发 pdf 显示功能,
用户以 HTML 形式输入数据并可以点击 Preview按钮以查看 pdf 格式的预览
这些是我的 views.py 中返回 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']}>
还有一些领域......
现在我可以简单地使用 {{data.client_id}}在我的 HTML 中获取数据
到目前为止一切正常
但我需要向我的参数提供一些额外的数据以在 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]})

关于django - 将额外数据附加到 Django 中的 request.POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65047248/

相关文章:

python - OSMWidget - map 未显示在模板中 - ReferenceError : ol is not defined

django - 一个模板 Django 中的 ListView 和 CreateView

swift - 请求正文中的 HTTP POST "/"字符问题 -Swift

java - 我可以使用不同的请求主体创建多个具有相同请求映射的 HTTP POST 方法吗

django - 为什么 Django 的 DetailView 没有可重用的模板?

python - 在 django 模板中迭代列表两次

python - 将表单传递到 HTML 页面 django

python - Django:将日期保存到数据库中

django - 热重用 Django admin 的表头排序功能?

java - Android 错误 : MultipartEntity , 客户端发送的请求在语法上不正确