Python Django,在一页上上传两个文件

Python Django,在一页上上传两个文件,python,django,Python,Django,model.py: class InJPG(models.Model): file_path = models.FileField(upload_to="media",unique=True) 视图.py from model import InJPG def get_name(request): file1=InJPG(request.POST or None) file2=InJPG(request.POST or None) if

model.py:

class InJPG(models.Model):

    file_path = models.FileField(upload_to="media",unique=True)
视图.py

from model import InJPG

def get_name(request):
    file1=InJPG(request.POST or None)
    file2=InJPG(request.POST or None)
    if file1.is_valid():
        file1.save()  
    if file2.is_valid():
        file2.save()

    return render(request,'files.html',{'file1':file1,'file2':file2})
files.html

 ...

{% block page %}
    <form method="post" enctype="multipart/form-data">
        {% csrf_token %}
        {{file1}}
        <button type="submit">upload file1</button>
    </form>

    <form method="post" enctype="multipart/form-data">
        {% csrf_token %}
        {{file2}}
        <button type="submit">upload file2</button>
    </form>
{% endblock %}
。。。
{%block page%}
{%csrf_令牌%}
{{file1}}
上传文件1
{%csrf_令牌%}
{{file2}}
上传文件2
{%endblock%}
我有一个网页,可以上传两个文件
file1和file2

问题: 我一次只能加载一个文件,当我上传第一个文件时,页面正在刷新

我想用一个按钮加载两个文件。或两个加载按钮,而不刷新第二个窗体


我使用两个表单是因为我想分离网页并使用这些卡片类

,这是因为文件必须作为两个单独的输入传递到同一表单

试试这个:

{% block page %}

<form method="post" enctype="multipart/form-data" required="True">
    {% csrf_token %}
    <input type="file" name="file1">
    <input type="file" name="file2">
  <button type="submit">Submit both files</button>
</form>

 {% endblock %}
{%block page%}
{%csrf_令牌%}
提交两个文件
{%endblock%}

这是因为文件必须作为两个单独的输入以相同的形式传递

试试这个:

{% block page %}

<form method="post" enctype="multipart/form-data" required="True">
    {% csrf_token %}
    <input type="file" name="file1">
    <input type="file" name="file2">
  <button type="submit">Submit both files</button>
</form>

 {% endblock %}
{%block page%}
{%csrf_令牌%}
提交两个文件
{%endblock%}

您不能在一个页面上使用两个不同的表单,并期望它们在提交其中一个表单时都能正常工作。您必须将表单合并为一个表单,或者执行一些js和ajax调用来分离提交,因为django模板将在第一次提交时传递数据并刷新页面。您不能在一个页面上使用两个不同的表单,并期望它们在提交其中一个表单时同时工作。您要么将表单合并为一个表单,要么执行一些js和ajax调用来分离提交,因为django模板将在第一次提交时传递数据并刷新页面。明白了,所以一个表单对应一个页面。那么,当我想添加字段文件名时,我应该怎么做?通常,我可以使用views.py中的form并将其添加到models char字段中,但在此
中,这将是另外两个输入,具有属性type=“text”。e、 g.如果我能问的话,我还有一个问题,我使用的是一个表单,但我的代码,因为我使用的是models.py/当我在打印它们的名称时加载这两个文件时,两个文件似乎是相同的。我正在加载文件1和文件2,但结果是我收到了两次文件2。为什么?谢谢,我建议你打开一个新问题,在那里展示你的代码。明白了,所以一页一张表格。那么,当我想添加字段文件名时,我应该怎么做?通常,我可以使用views.py中的form并将其添加到models char字段中,但在此
中,这将是另外两个输入,具有属性type=“text”。e、 g.如果我能问的话,我还有一个问题,我使用的是一个表单,但我的代码,因为我使用的是models.py/当我在打印它们的名称时加载这两个文件时,两个文件似乎是相同的。我正在加载文件1和文件2,但结果是我收到了两次文件2。为什么?谢谢,我建议你在展示代码的地方提出一个新问题。