相关疑难解决方法(0)

在Ajax调用上显示进度的最佳方法是什么?

我有一个Ajax调用,它更新了数据库中的5,000条记录,因此这需要花费很多时间.我有一个Ajax"正在加载图片",显示正在发生的事情,但我正在寻找一种更好的方式来显示"正在更新50的5000 ...","更新200的5000",或类似的东西.

在不执行5000个不同帖子的情况下,在Ajax/jQuery中执行此类操作的最佳方法是什么?

ajax jquery progress-bar

34
推荐指数
1
解决办法
2万
查看次数

在Django中流式传输CSV文件

我正在尝试将csv文件作为附件下载流式传输.CSV文件大小为4MB或更多,我需要一种方法让用户主动下载文件,而无需等待创建所有数据并首先提交到内存.

我首先使用自己的基于Django FileWrapper类的文件包装器.那失败了.然后我在这里看到了一个使用生成器来传输响应的方法: 如何使用Django流式传输HttpResponse

当我在生成器中引发错误时,我可以看到我正在使用该get_row_data()函数创建正确的数据,但是当我尝试返回响应时它返回空.我也禁用了Django GZipMiddleware.有谁知道我做错了什么?

编辑:我遇到的问题是ConditionalGetMiddleware.我不得不更换它,代码在下面的答案中.

这是观点:

from django.views.decorators.http import condition

@condition(etag_func=None)
def csv_view(request, app_label, model_name):
    """ Based on the filters in the query, return a csv file for the given model """

    #Get the model
    model = models.get_model(app_label, model_name)

    #if there are filters in the query
    if request.method == 'GET':
        #if the query is not empty
        if request.META['QUERY_STRING'] != None:
            keyword_arg_dict = {}
            for key, value in request.GET.items():
                #get the query filters …
Run Code Online (Sandbox Code Playgroud)

python csv django streaming

18
推荐指数
2
解决办法
2万
查看次数

如何在apache2中禁用mod_deflate?

如何在Apache2中禁用mod_deflate

  • 对于特定目录中的文件

要么

  • 对于所有扩展名为.py的文件?

apache mod-deflate apache2

13
推荐指数
1
解决办法
2万
查看次数

使用Django开发服务器时HTML5视频元素不可搜索

我有一个Django应用程序服务于一个HTML5元素的网页.有一个奇怪的"功能",将视频元素转为不可搜索:video.seekable返回一个timeRanges对象length=0,而它应该是length=1.

这意味着我无法编辑视频.JavaScript也无法做任何事情.

问题是,当我上传有问题的网页时,静态 - 没有Django,只是简单的HTML/JS/CSS - 到我的网站进行测试,它运行正常 - length=1.

但是,如果我尝试在我的Django dev服务器上提供相同的静态页面仍然会出现同样的问题.

我正在使用Django的静态服务进行开发/调试 - 你知道是什么导致这个,或者我该如何解决它?

谢谢.

javascript python django html5 html5-video

9
推荐指数
2
解决办法
2559
查看次数

流式传输HTTP响应,刷新到浏览器

我有一个如下的观点:

from django.views.decorators.http import condition

def stream():
    for i in range(0, 40):
        yield " " * 1024
        yield "%d" % i
        time.sleep(1)

@condition(etag_func=None):
def view(request):
    return HttpResponse(stream(), mimetype='text/html')
Run Code Online (Sandbox Code Playgroud)

但是,它似乎根本不是流媒体.在大约40秒后,所有数据在最后一次被转储.如何让它正确冲洗?

django

8
推荐指数
1
解决办法
4704
查看次数

Django:在现有的html页面上返回StreamingHttpResponse

由于每个问题最好只有一个问题,如果与同一项目的另一部分相似,请耐心等待.

情况:

我在html上有一个表单,我可以在其中设置一个数字,当它被提交时,调用views.stream_response将值传递给stream.py并返回StreamingHttpResponse并显示"虚拟"空白浏览器页面(/ stream_response /),其中我可以每秒钟看到一个渐进的数字m:

   1
   2
   3
   ..
   m
Run Code Online (Sandbox Code Playgroud)

stream.py

import time

def streamx(m):
    lista = []
    x=0
    while len(lista) < m:      
        x = x + 1
        time.sleep(1)
        lista.append(x)
        yield "<div>%s</div>\n" % x 
        print(lista[-1])    
    return (x)
Run Code Online (Sandbox Code Playgroud)

--- UPDATE ---

views.py

def stream_response(request):   
    test = InputNumeroForm()   
    if request.method == 'POST':
        test = InputNumeroForm(data=request.POST)
        if test.is_valid():
            m = test.cleaned_data['numero']     
            print (test)      
            print("m = ", m) 
            #resp = StreamingHttpResponse(stream_response_generator(m))
            resp …
Run Code Online (Sandbox Code Playgroud)

html django streaming httpresponse django-views

8
推荐指数
1
解决办法
2016
查看次数

Django 1.5 - 使用新的StreamingHttpResponse

如果我StreamingHttpResponse 按此处所示实现,则直到10秒钟才会显示"流媒体"响应.关于djangoproject的信息不多,只是说它对生成大型CSV文件很有用,同时警告昂贵的任务应该在请求 - 响应周期之外执行.

但是,我看不到它使用时间密集的代码.生成器对象有什么可以防止这种情况吗?这是重复的代码供参考.

import time
from django.http import StreamingHttpResponse

def stream_response(request):
    resp = StreamingHttpResponse(stream_response_generator())
    return resp

def stream_response_generator():
    for x in range(1,11):
        yield '{} <br />\n'.format(x)
        time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

django django-views

7
推荐指数
1
解决办法
8073
查看次数

如何在Python中编写轮询函数?

我正在尝试编写一个每1分钟读取一次变量的函数,并返回每次的值.变量名是proc:

proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination], 
                                    stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

进度存储在proc变量中.我希望函数每1分钟轮询一次变量并返回值.这样做直到变量执行时为止.最好的方法是什么?

尝试使用:

def doWork():
    while True:
        proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination], 
                                    stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]stdout=subprocess.PIPE).communicate()[0]
        data = sort(proc)
        print data 
        time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

虽然没有运气!它同时打印整个进度并循环.

python polling

6
推荐指数
1
解决办法
1万
查看次数

Django 返回 http 早期刷新(分块响应)

我有一个算法,它等待近 5 秒来生成响应,我想在用户发送请求后立即向用户发送一个 ack(http 200),告诉他他的请求已收到并等待 5 秒。

发电机功能:

def chunked_res():
    yield "Chunk 1"

    stop = time.time() + 5    # wait for 5 seconds
    while time.time() < stop:
        pass

    yield "Chunk 2"
Run Code Online (Sandbox Code Playgroud)

在某些方面:

response = HttpResponse ( chunked_res() )
response['Connection'] = 'close'
response['Transfer-Encoding'] = 'chunked'
response['status'] = 200
return response
Run Code Online (Sandbox Code Playgroud)

浏览器中的响应:

"传输编码:分块\n状态:200\n连接:关闭\n内容类型:文本/html;字符集=utf-8\n\nChunk 1Chunk 2"

问题: 我得到了要求的响应(Chunk 1,Chunk 2),但在 5 秒后。我想先发送“Chunk 1”,然后在 5 秒后发送“Chunk 2”(更新响应)。是否有任何特定的设置/更改来实现这一点?

更新:

Django = 1.4 蟒蛇 = 2.7

python django http chunked-encoding http-chunked

5
推荐指数
1
解决办法
4223
查看次数

如何使用进度条在Django中显示python函数进度?

我创建了一个用户上传视频的网站,我使用python函数逐帧处理视频.在这个函数中,我知道我已经处理了多少帧.我想在进度条中向用户显示进度.我google了很多,但几乎所有的进度条都用于上传,所以我该如何实现呢?谢谢!

django

4
推荐指数
1
解决办法
6441
查看次数

Django StreamingHttpResponse 到模板中

Django 1.5 刚刚发布并提供了 StreamingHttpResponse。现在,我已经阅读了这个讨论 ,第二个答案实际上在页面中打印出流(实际上只是数据)。

我想要做的是将流响应的输出打印到模板中,而不仅仅是像讨论中那样打印数据。

我该怎么办?我是否必须使用 javascript 并调用实现 StreamingHttpResponse 的视图,或者有一种方法可以告诉 django 呈现模板,然后将 StreamingHttpResponse 数据发送到模板(然后我需要知道存储数据的变量是什么) ?

编辑:到目前为止我发现的解决方案是将最终 html 页面的部分写入生成器(产量)。这个解决方案的问题是,例如,我不能有一个随着数据流而增长的条(如加载条)。

再见

django templates stream

2
推荐指数
1
解决办法
5922
查看次数