Я создаю приложение, которое требует длительного расчета.После того, как пользователь отправил информацию, ему нужно около 30 минут, чтобы рассчитать и затем вернуть результат.Поэтому я собираюсь добавить страницу «Пожалуйста, подождите».
Я следовал инструкциям, указанным в следующей ссылке, http://groups.google.com/group/django-users/browse_thread/thread/c1b0d916bbf86868 Однако, когда я отправляю что-то, оно остается в http://127.0.0.1:8000/please_wait
и не будетперенаправить на страницу результатов, как http://127.0.0.1:8000/display_DHM
Кто-нибудь знает, что происходит?
Здесь все связанные файлы, я пробовал разные способы, но когда я отправляю форму, она только возвращаетстраницу please_wait, а затем оставайтесь там навсегда. Перенаправления не произошло. Поскольку я хочу проверить, работает ли он первым, в коде нет фактических вычислений.
url.py
urlpatterns = patterns('',
(r'^test$',views.test_form),
(r'^please_wait', views.please_wait),
url(r'^run_DHM$', views.run_DHM, name="run_DHM") ,
url(r'^displayDHM', views.display_DHM, name="displayDHM")
)
view.py
def test_form(request):
return render_to_response('test.html')
def please_wait(request):
return render_to_response('please_wait.html')
def run_DHM(request):
### lengthy calculations... ...
return HttpResponse("OK")
def display_DHM(request):
return render_to_response('display_DHM.html')
test.html
{% extends "baseFrame.html" %}
{% block maincontent %}
<form method="POST" action="please_wait">
<p>Test:</p>
<div id="address"></div>
<p>Type your value in here:</p>
<p><textarea name="order" rows="6" cols="50" id="order"></
textarea></p>
<p><input type="submit" value="submit" id="submit" /></p>
</form>
{% endblock %}
please_wait.html
<html>Please wait
<script type="text/javascript" src="http://code.jquery.com/
jquery-1.7.1.min.js">
$.getJSON('{% url run_DHM %}', function(data) {
if (data == 'OK') {
window.location.href = '{% url displayDHM %}';
} else {
alert(data);
}
});
</script>
</html>
display_DHM.html
<HTML>
<BODY>END FINALLY!</BODY>
</HTML>