gpt4 book ai didi

python - 使用请求检查损坏的链接后,Django 网站加载缓慢

转载 作者:行者123 更新时间:2023-11-29 10:27:13 25 4
gpt4 key购买 nike

我的网站提供了有关不同服务器的详细信息。我已使用请求来检查哪些服务器 ILO IP 无法通过 http 工作,哪些则不能。

使用请求后..页面加载速度非常慢!

我的服务器检查许多服务器的 ILO Ips,如果服务器损坏,它会以文本形式显示 IP,如果没有,它会显示指向 ILO 的链接(THE IP)。

你知道如何让服务器加载更快吗?谢谢..

models.py -从 django.db 导入模型

导入请求

class serverlist(models.Model):
ServerName = models.CharField(max_length = 30,blank=True)
Owner = models.CharField(max_length = 50,blank=True)
Project = models.CharField(max_length = 30,blank=True)
Description = models.CharField(max_length = 255,blank=True)
IP = models.CharField(max_length = 30,blank=True)
ILO = models.CharField(max_length = 30,blank=True)
Rack = models.CharField(max_length = 30,blank=True)
Status = models.CharField(max_length = 30,blank=True)

def checkUrlAvailable(self):
ip_check = 'https://' + self.ILO
resp = requests.head(ip_check,allow_redirects=False)
if resp.status_code == 303:
return True
else:
return False

index.html-

{% if server.checkUrlAvailable is True %}

<a href="//{{ server.ILO }}"> {{ server.ILO }} </a>
{% else %}
{{ server.ILO }}


{% endif %}

最佳答案

您的列表中到底有多少台服务器?我不会像这样在 python 中进行可用检查。但是使用 javascript,这样您就可以启动多个异步检查,并且一个状态代码会更改链接上的类或其他内容,甚至“禁用” anchor 元素。为此,请使用 JQuery ajax(类型为 HEAD)。

否则,我会在您的 checkUrlAvailable 函数上放置一些缓存。但这并不能改变执行请求需要一些时间的事实,甚至是 HEAD。因此,在大列表(以及许多请求)上,它开始累加。

关于python - 使用请求检查损坏的链接后,Django 网站加载缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48078136/

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