django - Django图像上传工作但不是通用文件
问题描述
我面临的情况是我可以上传图片,但不能上传一般文件。我正在使用 javascript 来跟踪进度,表示文件上传成功,但媒体文件夹中没有文件。当我为图像执行此操作时,它可以工作。基本上,图像上传工作正常,我尝试复制相同的内容并将其用于一般文件上传。这是下面的代码。
楷模
class Upload(models.Model): # image upload model
image = models.ImageField(upload_to='images')
def __str__(self):
return str(self.pk)
class FileUpload(models.Model): # file upload model
video = models.FileField(upload_to='fileuploads/')
def __str__(self):
return str(self.pk)
形式:
class UploadForm(forms.ModelForm):
class Meta:
model = Upload
fields = ('image',)
class FileUploadForm(forms.ModelForm):
class Meta:
model = FileUpload
fields = ('video',)
意见:
def home_view(request):
form = UploadForm(request.POST or None, request.FILES or None)
if request.is_ajax():
if form.is_valid():
form.save()
return JsonResponse({'message': 'hell yeah'})
context = {
'form': form,
}
return render(request, 'uploads/main.html', context)
def file_view(request):
form = FileUploadForm(request.POST or None, request.FILES or None)
if request.is_ajax():
if form.is_valid():
form.save()
return JsonResponse({'message': 'hell yeah'})
context = {
'form': form,
}
return render(request, 'uploads/main1.html', context)
图片上传的 HTML 模板
{% extends "uploads/base.html" %}
{% block content %}
<div id="alert-box"></div>
<div id="image-box"></div>
<br>
<form action="" id="upload-form">
{% csrf_token %}
{{form.as_p}}
</form>
<br>
<div id="progress-box" class="not-visible">progress</div>
<div id="cancel-box" class="not-visible">
<button id="cancel-btn" class="btn btn-danger">cancel</button>
</div>
{% endblock content %}
与文件上传的 html 模板的唯一区别是
{% extends "uploads/base1.html" %}
我使用不同的基本 html 模板。
设置:
STATIC_URL = '/static/'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = "/media/"
我正在使用这里的代码 - https://github.com/hellopyplane/Progress-bar
解决方案
javascript 代码使用硬编码字段"image",在您的第二种形式中称为 "video"。
推荐阅读
- jquery - jQuery 对图像使用 href
- mysql - 查询 Mysql vs Node JS 没有返回任何结果
- splunk - 在 Splunk 饼图搜索表达式中需要帮助
- python - 上传错误:“latin-1”编解码器无法使用 JSON 数据上传对字符“\u2019”进行编码
- asp.net - 如何在 ASP.net 应用服务中将静态文件定义为起始页?
- java - 为什么 string.equals 在我的情况下不起作用?
- java - 如何在android上的服务中显示对话框
- docker - docker 端口映射符号:5432/tcp vs 0.0.0.0:5432->5432/tcp 有什么区别?
- java-8 - Java 8 流已被操作或关闭
- excel - 循环通过过滤列表时偏移标题的正确方法?