【问题标题】:Django MEDIA_ROOT pointed to network driveDjango MEDIA_ROOT 指向网络驱动器
【发布时间】:2018-10-16 11:48:25
【问题描述】:

我正在尝试将通过 Django 管理站点上传的文件放在网络驱动器上。假设这个驱动器的路径是 '\\FILESERVER\Django'。

我最初的想法是将媒体根目录设置为通过文件资源管理器访问驱动器的路径:

#settings.py
MEDIA_ROOT = r'\\FILESERVER\Django'

示例模型:

#models.py
class Article(models.Model):
    title = models.CharField(max_length=128)
    pdf = models.FileField(upload_to='articles', blank=True, null=True)

    def __str__(self):
        return self.title

但是当我上传文件时,它只会在我的本地 C: 驱动器上创建文件夹。 (例如 C:\FILESERVER\Django\articles)。有没有办法告诉 Django 这应该是网络驱动器的路径?

注意:这是一个在 windows 机器上运行的 Django 2.0.4 应用程序。

【问题讨论】:

  • 您是否尝试将其指向网络驱动器的内部 IP 地址? Here's如何找到它。

标签: python django windows file-upload network-drive


【解决方案1】:

我相信您正在寻找的是pathlib。看看这里:

https://docs.python.org/3/library/pathlib.html#methods-and-properties

PureWindowsPath('//FILESERVER/Django').drive 之类的东西应该可以为MEDIA_ROOT,IIRC 解决问题。

【讨论】:

  • 正是我需要的,谢谢!
  • 使用 django 上传到网络驱动器后如何获取文件??
【解决方案2】:

如果你使用网络文件服务器,你可能需要一个自定义的django文件存储类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2011-11-17
    • 1970-01-01
    • 2016-08-16
    • 2023-03-03
    相关资源
    最近更新 更多