gpt4 book ai didi

django - 使您的网站更快的最佳方法是什么,以便它在 django 中加载速度更快并消耗更少的数据

转载 作者:行者123 更新时间:2023-12-04 02:32:20 25 4
gpt4 key购买 nike

目前我正在开发一个 Django 网站。我有两个关于加速我的网站的问题。

  1. 我有一个展示产品的产品页面。目前,当我用 15 张图片对其进行测试时,每张图片的大小约为 8-10mb,页面加载时间过长。图像的合适尺寸应该是多少才能满足上述条件,并且图像质量不会变得很差。

2) 我有一个页面,其中显示了所有类别的所有产品,其 View 如下所示

qs = Product.objects.select_related('category').order_by(*sorting)
types = [
(k, list(vs))
for k, vs in groupby(qs, attrgetter('category'))
]

我想知道为不同的类别设置不同的页面是否有助于通过过滤产品(例如 p=Product.objects.filter())来更快地加载网站。或者过滤将花费与在一个页面中显示所有产品相同的时间?

最佳答案

1.1) 为了减小图像尺寸,我强烈建议您使用 django-imagekit这是在 Django 上调整图像大小的完美工具

1.2) 确保您的图像加载了适当的缓存 header (expiresCacheControl)

2.1) 对于您的查询,您可以从 Category 模型进行查询以避免手动对结果进行分组:

# this retrieve categories and associated products
categories = Category.objects.all().prefetch_related('product_set')

在你的模板中:

{% for category in categories %}
{{ category.name }}
{% for product in category.product_set.all %}
{{ product.name }}
{% endfor %}
{% endfor %}

2.2) 你可以使用 cache_page将页面保存在缓存中的装饰器:

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def my_view(request):

2.3) 不要一次加载所有产品(如果有很多)。使用分页策略或无限滚动策略(使用 ajax)

关于django - 使您的网站更快的最佳方法是什么,以便它在 django 中加载速度更快并消耗更少的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63563589/

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