我只是想知道:是否有可能改变文件字段,这样当一个文件被选中时,它会立即被上传,而不需要额外的按钮?你知道吗
假设我从.models,.forms,网址.py等成功
中的代码型号.py:
class data(models.Model):
Datas = models.FileField(upload_to='datas/upload')
中的代码表单.py:
class form1(forms.ModelForm):
class Meta:
model = data
fields = ('Datas',)
中的代码视图.py:
def upload(request):
if request.method == 'POST' and 'btnform1' in request.POST:
newform1 = form1(request.POST, request.FILES)
if newform1.is_valid():
newform1.save()
return redirect('list')
中的代码上传.html:
<h2>Data</h2>
<form method="post" enctype="multipart/form-data"> {% csrf_token %}
{{newform1.as_p}}
<!-- <button type="submit" class="btn btn-primary" name="btnform1">Upload Data</button>-->
</form>
如果可能的话,有谁能给我一个指导,给我一个解决办法吗?非常感谢。你知道吗
为此,您不需要在后端更改任何内容,只需要一个javascript片段来触发文件字段按钮的formsubmitonchange事件。 假设您的输入文件字段具有id=“id\u file”和表单 id="image-upload-form".
如果你的html看起来像。你知道吗
那么js看起来像。你知道吗
说明:
请参阅,当您的html中有一个表单时,表单角色是收集其中输入元素的数据,并包装这些数据,并在定义的url(如“/upload\u file”)上使用表单中定义的必要方法,即“GET”、“POST”等
现在,默认情况下,只有当用户单击表单中包含类型为submit的button元素时,表单才会这样做。由于您不希望在用户必须单击的地方出现这种行为,因此您也可以通过javascript来执行,如果您使用上面定义的html,那么为了测试这种行为,您可以在file upload选项中选择文件并转到developer console并运行 这个
当你点击按钮时,你也会看到同样的行为发生。所以我们在
change
事件上这样做是为了在用户选择文件时自动提交表单。你知道吗希望这有帮助,如果没有那么让我知道哪一部分。你知道吗
相关问题 更多 >
编程相关推荐