python - Django,一页上传两个文件
问题描述
模型.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})
文件.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 %}
我有网页,可以上传两个文件file1 and 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 %}
推荐阅读
- regex - 在TextPad中以递增顺序替换数字的正则表达式
- charts - 如何从 chart.js 中删除值
- javascript - 解决 tslint-immutable 函数式编程原理的合适方法
- javascript - 将 Vue.js 用于客户端并使用 Express 用于服务器端时出现“Access-Control-Allow-Origin”CORS 问题
- spring-boot - 从 Tranisitive Dependecies 中删除 Log4j2.xml 并在 springboot 项目中使用 Log4j2-spring.xml
- sql - 左加入建议
- erlang - Elixir - 如何改进代码和风格
- ios - App Visibility 将 Apple 开发者帐户从个人迁移到企业
- python - 列表拼接变量赋值自动化
- java - 构建超过10万个key的map时如何避免内存不足