[Django]当debug=false时,MEDIA\u URL返回not found

2024-03-28 15:25:03 发布

您现在位置:Python中文网/ 问答频道 /正文

当DEBUG=TRUE时,media_url正在工作,但是DEBUG=False,返回not working。
这是我的设置文件。在

设置.py

DEBUG = False
...
MEDIA_URL = "/pics/"
MEDIA_ROOT = BASE_DIR

网址.py

^{pr2}$

主页.html

...
<img src="{{ post.image.url}}" ..>

模型.py

class Post(models.Model):
    title    = models.CharField(max_length=255)
    pub_date = models.DateTimeField()
    image    = models.ImageField(upload_to="media/")

也许,这个设置是推荐的调试模式。
我该怎么改变这个设置。在


Tags: 文件pydebugimagefalsetrueurlmodels
1条回答
网友
1楼 · 发布于 2024-03-28 15:25:03

根据the documentation

This helper function works only in debug mode and only if the given prefix is local (e.g. /media/) and not a URL (e.g. http://media.example.com/).

他们提到的helper函数是:+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在生产环境中为nginx设置静态媒体文件非常简单,DigitalOcean has a great guide。静态部分只是几行:

    location /media/ {
        root /home/sammy/myproject;
    }

相关问题 更多 >