django - 如何在 django 管理操作的中间页面中从 request.POST 获取所有值
问题描述
如上图,按下导出按钮后,只有“Django 1”通过 print() 命令返回。
想知道如何从这种交互中获得所有三个值?
# admin.py
def export(self, request, queryset):
if "apply" in request.POST:
queryset.update(status="exported")
title = request.POST['title']
print(title, _selected_action)
self.message_user(request,
"Changed status on {} orders".format(queryset.count()))
return HttpResponseRedirect(request.get_full_path())
context = admin.site.each_context(request)
context.update({
'data': queryset
})
return render(request, 'admin/export.html', context=context)
export.short_description = "export"
<!-- export.html -->
{% extends "admin/base_site.html" %}
{% block content %}
<form action="" method="POST">
{% csrf_token %}
{% for d in data %}
<p>
{{ d.pk }}.{{ d }}
<input type="text" name="title" value={{ d.title }} size="50" autofocus />
</p>
<input type="hidden" name="_selected_action" value="{{ d.pk }}" />
{% endfor %}
<input type="hidden" name="action" value="export" />
<input type="submit" name="apply" value="Export" />
</form>
{% endblock %}
解决方案
正如@DanielRoseman 在评论区提到的那样, request.POST.getlist('title') 在这里效果很好。
推荐阅读
- vba - # 部分字段名,Access认为是日期
- amazon-web-services - Terraform:配置后如何将实例 IP 发送到 aws_instances
- verilog - verilog 中的寄存器可以表示为数字吗?
- context-free-grammar - 随机上下文无关文法到乔姆斯基范式
- python - 除非 WHERE 子句硬编码,否则 Psycopg2 不是空结果
- swift - 有没有办法压缩这条 if->cast 行?
- visual-studio-code - 如何在 Windows 系统上远程编辑文件
- excel - 根据一个单元格跳过特定行中的excel宏
- mongodb - 创建父文档时未初始化子文档。Nestjs/猫鼬
- rest - 休息服务是否应该将包含 id 的实体返回给其他实体或实体本身?