如何在Django HTML模板中使用SAS Token显示Blob图片
在Django模板中使用SAS Token显示Azure Blob图片
实现步骤
1. 在视图层拼接完整的带SAS Token的Blob URL
别在模板里手动拼URL,建议在Django视图里完成URL和SAS Token的拼接,既安全又方便维护。
示例视图代码:
from django.shortcuts import render def blob_image_page(request): # 替换成你实际的存储账户、容器、Blob路径和SAS Token account_name = "你的存储账户名" container_name = "你的容器名" blob_file_path = "images/xxx.jpg" sas_token = "你的SAS Token(注意不要带开头的?)" # 拼接可直接访问的完整URL full_blob_url = f"https://{account_name}.blob.core.windows.net/{container_name}/{blob_file_path}?{sas_token}" return render(request, 'image_template.html', {'blob_img_url': full_blob_url})
2. 在HTML模板中直接引用拼接好的URL
把视图传递过来的完整URL放到<img>标签的src属性里就行:
<img src="{{ blob_img_url }}" alt="Blob存储的图片">
关键注意点
- 确认你的SAS Token包含**读取(r)**权限,不然图片会加载失败
- SAS Token不要带开头的
?,因为拼接时已经手动加了,避免出现??的错误 - 如果要展示多张Blob图片,可以在视图里生成包含完整URL的列表,再传给模板循环渲染
内容的提问来源于stack exchange,提问作者Karam
相关产品推荐
相关产品推荐

