javascript - Django 向用户显示上传正在进行中

标签 javascript python django django-templates django-views

我有一个文件管理器应用程序,它允许用户将文件上传到服务器并下载它们。现在处于用户开始上传时的状态,浏览器只显示小加载圆圈,直到上传完成。并且此服务器的用途是用于相当大的文件,大部分大约 100mb,因此可能需要一些时间,没有经验的用户可能会在上传和破坏它的同时开始四处浏览。

我一直在研究进度条,但我不是一个狂热的编码员,我需要一些时间才能在我的文件管理器应用程序中实现它。我可能真的没有时间。我一直在考虑给用户一个通知,例如一个警告框,上面写着:“正在上传,请稍候!”上传时,上传完成后方框消失。我已经尝试过使用 javascript 警告框,但这只需要用户单击“确定”,然后它就会执行相同的操作。

def upload(request):
if request.POST:
    post_data = request.POST.copy()

if not post_data.get('path'):
        return raise_error(request,
            [_(u"No path given")])
    if not post_data['path'].startswith(request.user.fileman_Setting.root):
        return raise_error(request,
            [_(u"No access")])

    post_data.update(request.FILES)
    form = UploadForm(post_data)
    if form.is_valid():
       form.save(request.FILES, request)
       return HttpResponseRedirect('/fm/list/%s' % form.path)
    else:
        return raise_error(request,
            form.errors)
else:
    return raise_error(request,
            [_(u"Empty form.")]) 

我有什么想法可以实现一些东西来通知用户它正在上传并且他应该等待吗?比进度条简单得多的东西。我一直在考虑最后使用那个 HttpResponseRedirect 作为上传完成的标记,我可以用它和其他东西一起做一些事情吗?

最佳答案

这篇文章:http://kuhlit.blogspot.com/2011/04/ajax-file-uploads-and-csrf-in-django-13.html讨论如何为 Django 1.3 实现上传进度条。我认为进度条会更可取,但如果您想做一些简单的事情,您可以只显示一个带有 javascript 的对话框,上面写着“嘿,我正在上传”。

关于javascript - Django 向用户显示上传正在进行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5988750/

相关文章:

javascript - 如何通过 Javascript 在 Flowplayer 中更改视频(并立即开始播放)?

javascript - 根据多选 1 的值自动选择多选 2 的值

python - 只取字符串元素中的字母

python - 我有目录中的文件列表,需要按降序将具有通用名称的文件作为输入

python - Django 内部服务器错误

django - get_model 相当于 ModelForms 吗?

javascript - 将新对象插入循环中的现有对象中

python - 使用 raspberry-pi3 和 Bluemix 的 IoT 项目。错误: TwilioRestClient has been removed from this version of the library

python - Django 缓存与 App Engine 缓存 - 我应该使用哪一个?

javascript - 从 Javascript 和 Mithril.JS 使用 asp.net Web 服务 - post/get 请求的最佳方法/库是什么?