gpt4 book ai didi

python - 使用 Django 如何自动更新模板上的信息

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:21 52 4
gpt4 key购买 nike

我不是在寻找确切的代码,而是在寻找有关我的问题的一些指导。在我的一个页面上,我希望有一小部分可以告诉用户服务器上剩余的磁盘空间,并且我希望此信息每 30 秒更新一次。我已经编写了获取磁盘信息的代码。但是,我不确定如何显示该信息并更新它。这就是我所拥有的,只是为了给您一个视觉效果:

我正在使用的 HTML: {% 扩展“Checklist/base.html” %}

{% block main_content %}

<form action="{% url 'Checklist:run' %}" method="post"> {% csrf_token %}
<input type="submit" name="submit_button" value="Run">
</form>

<label for="disk_space">Disk Space: </label>
<input type="text" name="disk_space" value="{{ disk_space }}" id="disk_space">


{% endblock %}

HTML 的 View 函数:

def submit(request): #start scrtipt
submit.preProcess = subprocess.Popen(['chmod', '+x /home/psvuser/Desktop/test.sh'])
submit.process = subprocess.Popen(['/home/psvuser/Desktop/test.sh'])

global sem
sem = True
disk_space = request.get('disk_space', '')
disk_space = diskSpace()

start_time= int(round(time.time()))
f = open("/home/psvuser/Desktop/writer.txt", "a")
f.write(str(start_time))
f.write(", ")

return render(request, 'Checklist/stop.html')

我知道如何定期刷新页面,但是,我不知道如何在 html 上显示“disk_space”。

最佳答案

由于您希望在页面已加载时对服务器进行常规异步调用,因此我将使用 AJAX 来解决此问题。

我通常会做这样的事情

def your_django_view(request):
# magic
server_data = '98% left!'
response_data['data'] = server_data
return HttpResponse(json.dumps(response_data), content_type="application/json")

然后在你看来,使用一些 jquery(或 javascript..whatever)来处理所有数据

$.ajax({type: 'POST',
url: '/function_url/',
data: {
},
success: function(response_data) {
var server_mem = response_data['data']
$('#disk_space').val(server_mem);
})

关于python - 使用 Django 如何自动更新模板上的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41268121/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com