Django 如何在单个特定情况下跳过使用MEDIA_ROOT和MEDIA_URL

Django 如何在单个特定情况下跳过使用MEDIA_ROOT和MEDIA_URL,django,Django,我有一个关于在某些情况下覆盖媒体根的问题。在我的例子中,我导入的XML文件非常大,例如超过100 MB。我还使用AWS上传媒体文件。当我上传一个XML文件来解析它的内容时,它会上传到AWS,我需要再次下载它。那么,有没有一种方法可以覆盖和不上传到AWS并使用本地文件存储。我成功地在我的模型中覆盖了存储参数,如下所示: fs = FileSystemStorage(location=settings.STATIC_ROOT + '/XML_Uploads/') class ImporterFil

我有一个关于在某些情况下覆盖媒体根的问题。在我的例子中,我导入的XML文件非常大,例如超过100 MB。我还使用AWS上传媒体文件。当我上传一个XML文件来解析它的内容时,它会上传到AWS,我需要再次下载它。那么,有没有一种方法可以覆盖和不上传到AWS并使用本地文件存储。我成功地在我的模型中覆盖了存储参数,如下所示:

fs = FileSystemStorage(location=settings.STATIC_ROOT + '/XML_Uploads/')

class ImporterFile(models.Model):
    ...
    ...
    file = models.FileField(storage=fs)
    ....
当我上传文件时,它使用覆盖路径。但问题是,当我在管理界面中检查它时,它会显示路径的错误位置。它仍然显示类似“/media/filename.xml”的路径。但在这种情况下,它必须是/static/filename.xml

我找不到克服这个问题的方法。
任何帮助都将不胜感激。

MEDIA\u ROOT和MEDIA\u URL是不同的,
MEDIA\u ROOT
表示您正在那里存储媒体文件。。但是MEDIA_URL是您可以访问文件的URL

扩展
FileSystemStorage
类和设置值


MEDIA_ROOT和MEDIA_URL是不同的MEDIA_ROOT表示您将媒体文件存储在那里。。但是MEDIA_URL是您可以访问文件的URL
class MyStorage(FileSystemStorage):
      base_url = '/custom/url/'

fs = MyStorage(location=settings.STATIC_ROOT + '/XML_Uploads/')

class ImporterFile(models.Model):
    file = models.FileField(storage=fs)