Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用信号的Django加载页面?_Javascript_Django - Fatal编程技术网

Javascript 使用信号的Django加载页面?

Javascript 使用信号的Django加载页面?,javascript,django,Javascript,Django,我有一个很长的过程,在这个过程中,我的应用程序与服务器通信,根据服务器的响应保存模型,然后重新启动通信。我想向用户展示一个加载页面,该页面在保存模型时更新。例如: Working on request 1... Saving model 1... Working on request 2... Saving model 2... Finished task. [Back to Homepage] 我已经通读了(jango-show在长时间处理过程中加载消息)及其链接;第一个建议行不通,第

我有一个很长的过程,在这个过程中,我的应用程序与服务器通信,根据服务器的响应保存模型,然后重新启动通信。我想向用户展示一个加载页面,该页面在保存模型时更新。例如:

Working on request 1...
Saving model 1...

Working on request 2...
Saving model 2...

Finished task. 
[Back to Homepage]
我已经通读了(jango-show在长时间处理过程中加载消息)及其链接;第一个建议行不通,第二个建议需要线程、缓存等。我还通读了
信号的文档

假设保存的模型是
modelfafterresponse
。我的观点可能是这样的:

@receiver(post_save, sender=ModelAfterResponse)
def loading_page(sender, instance, created, **kwargs):
    model_name = kwargs['instance'].name
    return render(request, 'name/javascript_template.html', {"name": name}, content_type="application/x-javascript")
<script>
$('#some_loading_page_specific_div').innerHTML = "Working on " + {{ name }}
</script>
javascript\u template.html
可能如下所示:

@receiver(post_save, sender=ModelAfterResponse)
def loading_page(sender, instance, created, **kwargs):
    model_name = kwargs['instance'].name
    return render(request, 'name/javascript_template.html', {"name": name}, content_type="application/x-javascript")
<script>
$('#some_loading_page_specific_div').innerHTML = "Working on " + {{ name }}
</script>

$('some#loading_page_specific_div')。innerHTML=“处理”+{{name}
这只是快速模拟代码,但我有它的要点吗?当我像上面那样装饰一个函数,并做一些简单的事情,比如
返回HttpResponse(“:D”)
,什么都不会发生,所有的东西都会继续运行,而且
:D
也找不到


我相信我在正确的轨道上。有没有一个简单的方法来完成我想要的

不,不幸的是你没有走上正确的道路。这不是信号的用途,不能从信号中渲染数据。任何呈现数据的东西都需要在视图中。@DanielRoseman啊,糟糕透了。如果你不介意我问,如果不是这个,信号是用来干什么的?另外,是否有一种方法可以以我想要的方式更新页面,而无需重新加载页面/停止进程?我不确定如何从视图中调用AJAX(或者如果我已经在视图中,为什么我会这样做!)信号可以用于更新数据库或发送电子邮件等操作。但是,我不明白您从视图中调用Ajax是什么意思;您可以从HTML调用Ajax。@DanielRoseman啊。我的意思是:为了在保存模型(更新加载页面)时调用AJAX,我可能需要在视图中触发与HTML相关的内容(在保存模型时)。如果我使用
返回HttpResponse([etc.])
,这将停止for循环。我不确定如何使用信号更新加载页面,并且不从视图返回某些内容