Django enctype="multipart/form-data"未设置POST数据

3

我需要同时发送一个文件和一些来自输入文本的数据。

这是我正在处理的表单:

    <form method="post" action="{% url catalog_create_ajax_upload %}" enctype="multipart/form-data" id="create-form">
        <input type="text" id="new-catalog-name" name="catalog_name" class="large-input" placeholder="catalog title" />
        <div id="new-catalog">
            <input type="file" name="file">
        </div>
    </form>

当发送请求时,我期望request.POST['catalog_name']有一个值,但整个POST属性是一个空字典。
需要帮助吗?

{} - pistacchio
如果您使用Chrome开发者工具检查请求有效载荷,是否看到“catalog_name”参数? - Marco
请查看 request.POST[input[name='catalog_name']] 是否有帮助... - lakshmen
在视图中,你是否正在执行一个 Form(request.POST, request.FILES) 操作? - karthikr
2个回答

1

确保您的视图函数应该像这样获取图像文件

def index(request):
    image = 'file' in request.FILES and request.FILES['file'] 

使用 request.FILES 代替 request.POST


1

您的表单中似乎没有提交按钮。可能在页面上其他地方有一个,但它只会提交自己表单中的字段 - 将其移到那个<form>...</form>标签内。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接