python - 如何将 python 列表发布到 django

标签 python html list

我正在建立一个网站,我可以从我的 PRTG 获取一些 JSON 列表,但是我让它在控制台中工作,代码将过滤具有 DOWN 状态的传感器,但我不知道如何将其发布到 Django 上制作传感器停机时间的历史列表。

我尝试使用下面的代码发布数据,但我什至无法加载该网站,它在 127.0.0.1 上保持加载状态

from django.shortcuts import render
from django.http import HttpResponse
import json
import requests
import time

def index(request):
    url = "https://site.site.com/api/table.json?content=status=down&username=user&passhash=hash&count=200000"
    starttime=time.time()
    while True:
        response = requests.get(url)
        data = response.json()
        d = data
        result_list = [d for d in data['status%3Ddown'] if d['status'] == 'Down']
        time.sleep(10.0 - ((time.time() - starttime) % 10.0))

    return print(result_list)
   #return HttpResponse(result_list) this dont work either

我希望得到一个列表,如果可能的话,有人可以指出我如何在数据库中创建此结果的记录,我想每 30 秒向我的 PRTG 发出一次请求,以便创建有关此结果的历史记录并添加计时器,记录任何传感器带有 DOWN 标签的时间

最佳答案

嘿,我很久以前就这样做了,但我会分享我的两个解决方案

最简单的方法是制作一个 pandas 数据框并将其渲染为 html,它看起来像这样

def example_page(request):
    context = {"title" : "example"}
    url = "https://prtg.c3ntro.com/api/table.json?content=status=down&username=someuser&passhash=123&count=123"
    response = requests.get(url)
    data = response.json()
    d = data
    result_list = [d for d in data['status%3Ddown'] if d['status'] == 'Down']
    df = pd.DataFrame(result_list)
    return HttpResponse(df.to_html())
另一个是创建一个模型,然后使用 django_tables2 在我的模板上渲染它,这是我能做的最好的事情,但是之前的答案足以分享,因为创建模型不会回答当前的问题。感谢大家的宝贵时间

关于python - 如何将 python 列表发布到 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56084783/

相关文章:

python - 使用 flask-uploads 上传文件

Python如何删除带有黑名单不删除的项目列表

c++ - 将字符串列表从 QML 发送到 C++

c++ - std::list remove_if 使用堆栈中的状态

python - 无法在 shell 中验证 Django 用户

html - 在R markdown html文档的右上角插入一个标志

javascript - 使用 JavaScript 或 Puppeteer 检测页面上的元素是否可见

javascript - html表格中输入类型文本名称

python - 在字符串列表中查找模式

javascript - 更新呈现的 Django 模板中的列表项