Django 上传文件不在 MEDIA_ROOT 路径中给我 SuspiciousOperation 错误

发布于 2024-09-17 12:45:35 字数 406 浏览 7 评论 0原文

我想将文件上传到仍在我的 django 项目中但在我的 MEDIA_ROOT 路径中的路径。

当我尝试执行此操作时,出现 SuspiciousOperation 错误。

以下是我的设置文件中定义的路径:

MEDIA_ROOT = os.path.join(os.path.dirname( __file__ ), 'static_serve')
UPLOAD_DIR = os.path.join(os.path.dirname( __file__ ), 'uploads')

我这样做是因为我不希望通过浏览器访问我上传的文件,而我的 MEDIA_ROOT 路径是。

有谁知道我如何解决(修复)这个错误。

I want to upload files to a path that is still in my django project, but in my MEDIA_ROOT path.

When I try to do this I get a SuspiciousOperation error.

Here are the paths as defined in my settings file:

MEDIA_ROOT = os.path.join(os.path.dirname( __file__ ), 'static_serve')
UPLOAD_DIR = os.path.join(os.path.dirname( __file__ ), 'uploads')

I'm doing this because I don't want the files I am uploading to be accessible via the browser and my MEDIA_ROOT path is.

Does anyone have any idea how I get around (fix) this error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听你说爱我 2024-09-24 12:45:35

是的有办法

来自文档:

例如,下面的代码将
将上传的文件存储在
/媒体/照片,无论您的内容是什么
MEDIA_ROOT 设置为:

from django.db import models
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location='/media/photos')

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)

Yes there is a way:

From docs:

For example, the following code will
store uploaded files under
/media/photos regardless of what your
MEDIA_ROOT setting is:

from django.db import models
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location='/media/photos')

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文