Django,更新部分页面

2023-11-22

我正在尝试实现一个简单的代码测试服务器。客户将在网页上提交他们的代码,我们将使用两个测试用例运行它(可能需要几分钟),然后我们将发布结果。该页面将很简单,带有提交表单和输出框。

我的问题是更新输出框。我正在寻找simplest实现输出框的方法,以便我们在运行不同的测试用例时显示结果。

我尝试在谷歌上搜索解决方案,发现了一些类似socket.io的解决方案,但我对ajax和socket.io甚至js的经验非常有限,所以我正在寻找最简单的方法来做到这一点。


如果您正在寻找自动更新 HTML 中字段的代码,这里是您可以使用的代码。 JavaScript 中的 setInterval 计划每 1 秒提取一次 get_log 视图,以获取 get_log_from_disk 方法的结果。

urls.py

    url(r'^get_log/$', 'myapp.views.get_log', name='get_log'),
    url(r'^submit/$', 'myapp.views.submit', name='submit'),

views.py

def submit(request):
    ## Handle POST
    ## Your code comes here
    return render(request, 'submit.html', {})

def get_log_from_disk():
    ## Your code comes here
    return "Test 1 OK; Test 2 OK"

def get_log(request):
    results = get_log_from_disk()
    return HttpResponse(results)

在submit.html中添加

<head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>

<body>
[<div id="output_box"></div>]

<script>
$(document).ready(function() {
  $.ajaxSetup({ cache: false }); // This part addresses an IE bug.  without it, IE will only load the first number and will never refresh
  var my_refresh = setInterval(function() {
    $('#output_box').load('/get_log/');
  }, 1000); // the "1000"
});

</script>
</body>

您可以修改“$('#output_box').load('/get_log/');”要测试请求的状态,当返回“204 No Content”时,您可以删除该函数 (clearInterval(my_refresh );)

see 停止 JavaScript 中的 setInterval 调用

修改 get_log 视图,当没有更多内容要发送时返回“204 No Content”。

这里我上传了工作版本

https://github.com/lukaszszajkowski/Django-jQuery-Example-update-part-of-page/tree/master

一些阅读

使用 jQuery 自动刷新 div - setTimeout 或其他方法?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django,更新部分页面 的相关文章

随机推荐

  • 从 FOP 的 JAR 加载字体

    我有一个 TTF 字体fonts我的应用程序位于 JAR 目录中 myapp jar fop config xml font ttf 我这样创建我的 FOP FopFactory fopFactory FopFactory newInsta
  • 使用 ACTION_VIEW 打开缓存目录中的文件

    我已经搜索这个有一段时间了 但我无法使其正常工作 让我解释 我有一个保存文件的 Android 应用程序 图像 文档 在缓存目录中 起初我曾经getExternalCacheDir 方法并将它们保存在那里 但因为它应该缓存在没有 SD 卡的
  • 如何解决 Visual Studio 编译器崩溃问题

    我们有一个大型的 Visual Studio 2005 C Mfc 解决方案 其中 1 个项目包含大约 1300 个源文件 大约有 650 个 h 和 650 个 cpp 文件 我们还使用 Boost 和一些其他库 COM MSXML Of
  • 如何在 Spring MVC 应用程序中测试 Aspect

    我有一个 Spring MVC 应用程序 我使用一个方面来捕获所有控制器方法中的异常 Component Aspect public class ControllerExceptionAspect private Logger logger
  • 嵌套函数是否存在等效的 override ?

    如果我有这个函数 我应该怎么做才能用我自己的自定义版本替换内部函数 def foo def bar I want to change this pass here starts a long list of functions I want
  • GCC 错误消息“Error: unsupported for `mov'”是什么意思?

    我只是想编译一些我从书中输入的简单示例代码 GCC 给了我上述错误 这是我的代码 cat n test cpp 1 define READ COMMAND 3 2 3 define MSG LENGTH 128 4 5 include
  • 是否可以读取管道任务上的 PR 标签?

    我的问题基本上是标题 我找不到这样的信息阅读这一页并搜索网络 我的场景如下 每当我创建要掌握的 PR 时 我都会添加一个包含一些信息的标签 例如此处看到的 lib 版本 然后 在构建过程中 我生成发行说明 并希望像我一样在任务中访问该 PR
  • 张量流图在什么阶段建立?

    优化器通常会在许多步骤中运行相同的计算图 直到收敛 张量流是否在开始时设置图并在每个步骤中重用它 如果我在训练期间更改批量大小会怎样 如果我对图表进行一些减值更改 例如更改损失函数 会怎样 如果我对图表进行一些重大更改会怎样 张量流是否预先
  • openURL 在共享扩展中不起作用

    尝试使用 self extensionContext openURL completionHandler 在 iOS 8 共享扩展中打开包含的应用程序永远不会打开该应用程序 并且始终以 success NO 调用完成处理程序 Here操作扩
  • 在机械化中提交表格

    我在提交表单提交结果时遇到问题 我可以提交表单 但无法在第一个页面之后的页面上提交表单 I have browser mechanize Browser browser set handle robots False browser ope
  • 一项操作的两个快捷键

    我需要两个快捷方式来执行一项操作 Ctrl 1 or ctrl s 有什么办法可以做到这一点吗 或者我必须创建该操作的副本 然后为此操作分配第二个快捷方式 为了在一个操作上安装多个快捷方式 您可以使用QAction setShortcuts
  • 升级您的 Android Google 移动广告 SDK 以确保广告持续投放

    我今天收到这条消息 AdMob 发布商您好 7 月初 我们向 AdMob 发出了通知 拥有在 SDK 版本 6 4 1 及更低版本上运行应用程序的发布商 告知他们有关弃用 SDK 版本以及需要升级的信息 2016 年 9 月 15 日 对于
  • Excel VBA 英镑和冒号的含义?

    我试图理解一个带有井号和冒号符号的 vba 函数 VBA函数 kn 1 pn 1 y 1 我知道井号用于在 Excel VBA 中将变量声明为双精度型 然而 从上面那行来看 它似乎没有任何意义 上面的函数有什么作用呢 冒号 是语句分隔符 它
  • 计算上次 SQL 查询插入的行数

    我有这个查询 INSERT INTO db1 outbox DestinationNumber TextDecoded SELECT User CellPhone SMSMessage as TextDecoded FROM db2 Use
  • python 中是否有可用的缩放互补误差函数?

    在matlab中有一个特殊功能我所知道的任何 Python 集合中都没有它 numpy scipy mpmath 也许还有其他地方可以找到这样的功能 UPD对于所有认为这个问题微不足道的人 请首先尝试计算参数 30 的这个函数 UPD2任意
  • 是否有任何工具可以将托管 C++ 转换为 C++/CLI? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们有一个使用托管 C 语法编写的旧项目 我想向团队提出一种相当无痛的更新方法 我不介意一定程度的人机交互 我认为我的期望是现实的 我们仍然需要手工
  • 如何使用 WorksheetFunction.VLookup 处理 1004 错误?

    我有这个代码 Dim wsFunc As WorksheetFunction Set wsFunc Application WorksheetFunction Dim ws As Worksheet Set ws Sheets 2012 D
  • React + Redux 中的 Action 不会触发减速器

    我正在开发一个react redux应用程序 由于某种原因 我调用的操作没有到达reducer 我目前只有一个日志语句 我已附上我认为相关的代码 任何贡献将不胜感激 组件中函数内调用的操作 onSearchPressed console l
  • 在android中的对话框中设置多个文本框

    我正在创建一个对话框 它就像一个包含两个文本框和两个按钮的登录屏幕 我能够创建它 但我的问题是两个编辑文本框彼此重叠 第二个编辑文本框与第一个编辑文本框重叠 这可能是一个简单的问题 但由于我是 Android 新手 所以我一直坚持下去 请帮
  • Django,更新部分页面

    我正在尝试实现一个简单的代码测试服务器 客户将在网页上提交他们的代码 我们将使用两个测试用例运行它 可能需要几分钟 然后我们将发布结果 该页面将很简单 带有提交表单和输出框 我的问题是更新输出框 我正在寻找simplest实现输出框的方法