【发布时间】:2015-05-04 10:10:15
【问题描述】:
我有一个名为 c.py 的外部 python 程序,它“计数”最多 20 秒。 我从我的 Django 应用程序 views.py 中调用它,在 html 页面中我有一个按钮来启动它。没关系(= 在 Eclipse 中,当我按下网页上的按钮时,我可以看到 c.py 打印 0,1,2,3,...20)但我希望按钮从“GO”变为“WAIT” " 在 c.py 过程中(或者我想在计数期间执行等待页面或弹出窗口)。
c.py
import time
def prova(z):
z = 0
while z < 20:
time.sleep(1)
z = z + 1
print(z)
views.py
from django.shortcuts import render_to_response
#etc.
import c
def home_user(request):
return render_to_response('homepage/home.html',{'user.username':request}, context_instance = RequestContext(request))
def conta(request):
c.prova(0)
return redirect(home_user)
如果 conta 函数正在运行,我想在 homepage.html 中的哪个位置更改“等待”中的“GO”按钮。
urls.py
urlpatterns =patterns('',
url(r'^homepage/home/$', views.home_user, name='home'),
#etc.
url(r'^conta', views.conta, name='conta'),
)
home.html
{% if c.alive %}
<a href="" class="btn btn-danger" role="button">WAIT</a>
{% else %}
<a href="/conta/" class="btn btn-primary" role="button">GO</a>
{% endif %}
我没有放整个代码..我希望这足以理解我的麻烦。 我也看到How to create a waiting page in Django,但我会从更简单的开始。
到目前为止,当我启动 c.py 时,我看到我的网页正在加载一些东西(=它正在“计数”),但我的按钮没有改变,之后 strong> c.py 执行,我返回 127.0.0.1:8000/homepage/home/ 页面。 是 html 中的问题还是我的函数定义中的问题,或两者兼而有之?
更新
我尝试简化问题: 我找到了这个脚本...
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var text = "";
var i = 0;
while (i < 10) {
text += "<br>The number is " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
}
</script>
我想在 while 中“导入”我的 conta() 函数,而不是 i++ 中的 cicle
即我想要一个类似的东西: 当 conta() 运行时,出现类似
Waiting..
当它停止时我返回我的主页.. 我不知道如何在脚本中“放置”conta() .. 这可能吗?我是梦想家吗? :)【问题讨论】:
标签: javascript python django