我以为我已经弄清楚了,但是我已经阅读了一些关于此的不同内容,并且我开始变得非常困惑。
我的 settings.py 中的 URL 设置如下所示:
MEDIA_ROOT = HOME + '/uploads'
MEDIA_URL = PUBLIC_HTML + 'media/'
STATIC_ROOT = HOME + '/static'
STATIC_URL = PUBLIC_HTML + 'static/'
ADMIN_MEDIA_PREFIX = PUBLIC_HTML + 'static/admin/'
HOME
/home/username/在哪里,PUBLIC_HTML
就像“http://www.mydomain.com/test/myproject/”
我的静态文件似乎没问题,但我的媒体文件没有显示出来。我的 urls.py 文件中没有设置任何内容,而且我使用的是共享主机,所以我所能做的就是将 .htaccess 文件用于 apache 指令。
显然,我想让我的媒体文件显示出来,但我的第一个问题是为什么会显示静态文件?这没有意义。我认为 apache 必须在 Django 处理这些请求之前拦截这些请求,但在 url 中没有任何类型的 django.static.serve 业务时,它们似乎显示得很好。这怎么可能?我这样做对吗(我确定我不是),如何让媒体文件显示出来?为什么静态文件不显示时它们不显示?