首页 > 解决方案 > Django 使用 IIS / 虚拟目录提供各种文件类型

问题描述

我正在尝试在 IIS Windows 服务器上使用 Django 提供各种文件类型。对于我的一生,我似乎无法弄清楚。

我正在使用将文件路径存储在列中的遗留数据库。这些文件保存在网络共享上,因此创建了一个虚拟文件夹(累通并连接为)

我使用来自 DB / 模型的文件路径获取在 HTML 中创建的 URL

<td><a href ="/{{doc.location}}" download>{{doc.location}}</a></td>

这导致http://panel/docs/07/xxxxxx.doc

文件下载但失败 - Chrome 中没有文件。

这些文件混合了 doc / pdf/ txt 和其他一些文件类型。

任何帮助将不胜感激,为此绞尽脑汁。

标签: pythondjangowindowsiis

解决方案


确保您使用FileFieldImageField使用 Django 媒体文件系统正确定向到服务器上的文件路径。

您将需要配置与MEDIA_URLIIS 虚拟文件夹相同的名称。您还可以创建一个专用FileSystemStorage于显式指向该虚拟文件夹。

在 Django 文档https://docs.djangoproject.com/en/3.1/topics/files/中查看更多信息。

关于 IIS 虚拟目录,请查看django-windowsauth软件包,使用createwebconfig管理命令您可以自动配置您的 IIS 网站,并确保您正确配置了虚拟目录。 https://github.com/danyi1212/django-windowsauth


推荐阅读