Django + application cache 配置备忘

1.如某文件 index.html 连接到 permanote.appcache,即:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
    manifest="{% static 'book20/manifest/permanote.appcache' %}">

在permanote.appcache中即使不出现index.html,也会自动缓存index.html。相反,如果加上index.html,在safari下会引起异常。


2.permanote.appcache中的每一文件的url按照 相对于permanote的url(不是物理路径)填写。


3.在httpd.conf或.htaccess中添加一行,以设置正确的文件头。

AddType text/cache-manifest .appcache


4.浏览器reload index.html时,会到服务器get permanote.appcache文件,如返回状态码为304,表示清单文件没有变动,浏览器随后只是从缓存中load相关资源。

如返回状态码为200,表示清单已更新(清单上的资源可能更新,也可能未),浏览器会异步地load缓存上的旧资源, get index.html和清单上的资源(不管新旧)到缓存。这时浏览器看到的还是旧内容,需再load一次才能看到变动。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我将为你详细介绍如何在 Django配置 YOLOv5 模型进行目标检测。 1. 安装必要的 Python 库 首先,你需要安装必要的 Python 库,包括 Django、PyTorch 和 torchvision。你可以使用 pip 命令来安装它们: ``` pip install django torch torchvision ``` 2. 下载 YOLOv5 的代码和权重文件 你可以从 YOLOv5 的官方 GitHub 仓库中下载代码和权重文件:https://github.com/ultralytics/yolov5 你可以将下载的代码和权重文件放在 Django 项目的某个目录下。在本例中,我们将它们放在项目根目录下的 `yolov5` 目录中。 3. 创建 Django 视图函数 在 Django 项目中创建一个视图函数来处理目标检测请求。以下是一个可以帮助你开始编写代码的示例: ```python import torch import torchvision.transforms as transforms from PIL import Image from django.http import JsonResponse from yolov5.models.experimental import attempt_load from yolov5.utils.general import non_max_suppression def detect(request): # 加载模型 weights = 'yolov5/weights/yolov5s.pt' device = torch.device('cpu') model = attempt_load(weights, map_location=device) model.eval() # 处理图像 image = request.FILES.get('image') img = Image.open(image) img_tensor = transforms.ToTensor()(img) # 进行推理 with torch.no_grad(): results = model([img_tensor])[0] results = non_max_suppression(results, 0.5, 0.5) # 处理结果 detections = [] for result in results: for detection in result: detections.append({ 'label': detection[-1], 'confidence': detection[-2], 'bbox': detection[:4].tolist(), }) # 返回结果 return JsonResponse({'detections': detections}) ``` 在上面的代码中,我们首先加载 YOLOv5 模型和权重,然后获取传递给视图函数的图像。接下来,我们将图像转换为 PyTorch 张量,并将其传递给模型进行推理。最后,我们将检测结果处理为 JSON 格式,并将其返回给客户端。 4. 配置 Django 路由 最后,你需要在 Django 项目中配置路由来将请求路由到上述视图函数。以下是一个示例路由配置: ```python from django.urls import path from . import views urlpatterns = [ path('detect/', views.detect, name='detect'), ] ``` 在上面的代码中,我们将 `/detect/` 路径映射到名为 `detect` 的视图函数。 5. 运行 Django 项目并进行测试 现在,你可以运行 Django 项目并通过发送图像文件的 POST 请求来测试目标检测功能。你可以使用 Postman 等工具来测试,也可以编写一个简单的 HTML 表单来测试。 以下是一个 HTML 表单示例: ```html <html> <body> <form method="POST" enctype="multipart/form-data" action="http://localhost:8000/detect/"> {% csrf_token %} <input type="file" name="image"> <button type="submit">提交</button> </form> </body> </html> ``` 在上面的代码中,我们创建了一个包含文件选择器和提交按钮的 HTML 表单,并将其提交到 `/detect/` 路径。你需要将 `action` 属性设置为你的 Django 项目的 URL。 当你提交表单后,Django 项目将会返回 JSON 格式的检测结果。你可以根据需要对其进行处理和显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值