1
5秒ごとにdjangoを使用してデータをHTMLにレンダリングするのが目標ですが、問題はループが機能しないことです。djangoを使ったループでのレンダリング
view.py見て、問題を解決するために助け誰にとって
def form(request):
try:
file_name = request.FILES['files'].name
nama = "uploads/" + file_name
seq_act, num_obsv, observer, list_obsv = pr.readexcel(nama,0)
p, A, B = pr.make_initial(observer,num_obsv)
p_lampau, A_lampau, B_lampau = pr.baum_welch(p, A, B, seq_act)
while True:
if len(temp)==0:
break
seq_act_test = list(temp)
temp[:] = []
real_seq, repair_seq = pr.process(p_lampau, A_lampau, B_lampau,
seq_act_test, observer_test,
num_obsv)
return render(request,'main/form2.html',{'real_seq' : real_seq,
'repair_seq': repair_seq})
time.sleep(5)
except:
return redirect('/main/awal')
<html>
<head>
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'main/vis.css' %}" />
<script type="text/javascript" src="{% static 'main/vis.js' %}"></script>
<link href="{% static 'main/css/prism.css' %}" rel="stylesheet">
<link href="{% static 'main/css/ghpages-materialize.css' %}" type="text/css" rel="stylesheet" media="screen,projection">
<link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<style type="text/css">
#mynetwork {
width: 100%;
height: 600px;
border: 1px solid lightgray;
}
</style>
</head>
</html>
<body>
<div>
<center>
<b> {{ real_seq }}<br>
<b>{{ repair_seq }}
</center>
</div>
</body>
form2.htmlありがとう:これはコードです。
あなたは 'return'コールすると、関数が終わって、ループが終了します。 –
あなたがやろうとしていることは、「サーバープッシュ」と呼ばれることもあります。ブラウザが部分ページをレンダリングしている間は、HTTP接続を開いたままにする必要があります。もしあなたが*これを行う必要があるなら、この[古いSO投稿]を見てください(http://stackoverflow.com/questions/4787530/does-django-have-a-way-to-open-a-http-long-poll -接続)。 5秒ごとですので、* browser *がサーバーをポーリングするように変更することをお勧めします。ずっと簡単です。ところで、jQueryプラグイン[taconite](http://jquery.malsup.com/taconite/)をチェックアウトすると、ブラウザとサーバーの間にバックドアの会話ができるようになります。 –
ええ、あなたがしたいことはdjangoのビューとは無関係のようです。 djangoは、ブラウザの動作ではなく、バックエンドのロジックを扱います。 javascriptとajaxの呼び出しを使用するとよいでしょう。 – Leonard2