您正在尝试检查客户端上的服务器端值,但问题是该
if c.alive语句仅在呈现视图时才被评估-而不是
c更改状态。
您将需要能够
c通过ajax长轮询或WebSockets向客户端报告状态,或者,如果您不关心的增量状态,
c而只想更改链接的文本,则需要在链接的click事件触发时使用Javascript设置值:
// assuming jQuery for brevity...$(document).ready(function() { // avoid hard-coding urls... var yourApp = { contaUrl: "{% url 'conta' %}" }; $('#btnGo').click(function(e) { e.preventDefault(); // prevent the link from navigating // set css classes and text of button $(this) .removeClass('btn-primary') .addClass('btn-danger') .text('WAIT'); $.get(yourApp.contaUrl, function(json) { window.top = json.redirect; }); });});
但是…您的
conta函数将需要返回a
JsonResponse而不是a
HttpResponse以便在客户端进行重定向:
from django.core.urlresolvers import reversefrom django.http import JsonResponsedef conta(request): c.prova(0) redirect = reverse('name_of_home_user_view') return JsonResponse({'redirect': redirect})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)