Python Django,在一页上上传两个文件
model.py: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
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。为什么?谢谢,我建议你在展示代码的地方提出一个新问题。