我只想显示一个 静态 模板,该模板在任务运行时显示“请稍候…”。这是route函数的简化版本:
@app.route('/import/towers/<case_id>/<filename>', methods=['GET', 'POST'])
def import_towers(case_id=None, filename=None):
case_number = TollsCase.get_case_number(case_id)
with open(os.path.join(app.config['UPLOAD_FOLDER'], filename), 'rb') as f:
csv_f = csv.reader(f)
headers = next(csv_f)
if flask.request.method == 'POST':
# show static progress screen here then process records in csv file
for row in csv_f:
# process record
return 'success'
它不会让我render_template
不返回使用,从而跳过了我需要完成的处理。我需要它在进程运行 时 显示进度屏幕 ,
然后在完成时显示“成功”。我该怎么做呢?
如果无法做到这一点, 必须 使用Javascript ,那么到目前为止,这是我尝试过的:
html之后,我在模板中有这个:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="application/javascript">
$('form').on('submit', function() {
$('#content').empty();
$('#content').html('please wait...');
})
</script>
对于替换内容以在提交时显示进度页,它可以很好地工作,但是现在不提交该表单以供服务器端处理。我尝试设置data- ajax="false"
表单属性,但不能解决问题。我还尝试过this.submit();
在清除内容之前简单地使用,但是这使它在服务器端处理上等待,从而破坏了进度/等待屏幕的意义。如果使用Javascript,我仍然需要提交表单数据以进行
服务器端 处理。
您可以流式传输响应以获取 非常
简单的进度报告。有关更多信息,请参见有关流式传输的文档。此示例在等待5秒时输出完成百分比。除了睡觉之外,您将在处理csv或需要执行的任何操作。
from flask import Flask, Response
import time
app = Flask(__name__)
@app.route('/')
def index():
def generate():
yield 'waiting 5 seconds\n'
for i in range(1, 101):
time.sleep(0.05)
if i % 10 == 0:
yield '{}%\n'.format(i)
yield 'done\n'
return Response(generate(), mimetype='text/plain')
app.run()
这将在5秒钟内输出以下内容:
waiting 5 seconds
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
done
这不是很复杂,但也只是纯文本。一个更强大的解决方案是使用Celery在后台运行任务,并使用Ajax请求轮询任务的进度。
问题内容: 撑杆2设置到,安全问题。静态方法调用在某些情况下可能很有用,例如,在验证器表达式中使用StringUtils处理基于表达式的验证器Struts2时。 解决此问题的一种方法是在操作中定义一个辅助方法,例如,如果要使用类,则应在下面添加: 并将其用作或 如您所见,对于类中的每个方法,我们都需要在操作中定义一个具有相同签名的方法。 有没有更好的方法来避免这些样板吸气剂? 问题答案: OGNL
问题内容: 直到几周前,我还以为我知道何时创建字段和方法或。例如,当一个字段(例如另一个类的对象)对于该类的任意数量的对象是唯一的时,应将其设置为。 但是几周后,我读到了有关JVM垃圾收集的信息。 我知道字段永远不会被垃圾收集,并且始终保持在内存中,除非类加载器本身是垃圾收集的。 但是,如果我不创建该字段,至少它将被垃圾回收。 因此,在使字段/方法静态化与否之间似乎有一条 很细的界限 。 有人可以
我正在寻找一种平滑的方法来在Android系统中实现“状态”进度条,就像下面三个例子所示。因为我不喜欢重新发明轮子,所以我想问一下是否有一些我不知道的可用库。 我查了一下,找不到任何lib,所以我想我需要自己实现它。最简单的解决方案是什么?我应该扩展ProgressBar还是从头开始?你有什么建议或教程可以让我借鉴吗?
问题内容: 我的Android程序中存在旧的“无法对非静态方法进行静态引用”错误,我遇到了一些问题。我正在创建一个掉落游戏(类似于Powder Game),并且创建了一个名为Control的类,以在屏幕底部创建一个带有画笔大小滑块(效果很好)的控件栏,并弹出一个按钮,允许用户选择所选元素的对话框。但是,当我从代码中调用DemoActivity.showDialog(2)时,它将静态引用非静态错误(
在用户可以查看并与内容进行交互之前,尽可能地减少视觉上的变化,尽量使应用加载过程令人愉快。每次操作只能由一个活动指示器呈现,例如,对于刷新操作,你不能即用刷新条,又用动态圆圈来指示。 指示器类型 在操作中,对于完成部分可以确定的情况下,使用确定的指示器,他们能让用户对某个操作所需要的时间有个快速的了解。 在操作中,对于完成部分不确定的情况下,用户需要等待一定的时间,无需告知后用户台的情况以及所需时
问题内容: 只是为了澄清我正在考虑的这个权利,在Java中,静态字段是整个类使用的变量/字段,还是可以用于引用该类的所有对象?非静态字段是由对象定义的变量吗?并且与对象1引用相同类的第二个对象可以具有与对象1的静态字段不同的值吗? 问题答案: 与实例变量不同,在创建该类的实例之前,可以访问该类中的静态字段或静态类变量。在运行时创建该类的实例时,将创建该类中的实例变量(非静态变量)。因此,直到创建该