姜戈。未找到媒体文件

Posted

技术标签:

【中文标题】姜戈。未找到媒体文件【英文标题】:Django. Media Files not found 【发布时间】:2017-01-14 12:10:38 【问题描述】:

好的,我有一个 Django 1.10 项目。相关设置如下所示:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = BASE_DIR + "/media/"
MEDIA_URL = '/media/'

我在本地工作,我可以正确上传图片。但是当我尝试使用 image.image.url 访问模板上的图像时,我得到了 404。在终端中我可以看到:

[06/Sep/2016 18:13:43] "GET /media/folder/uploaded_image.jpg HTTP/1.1" 404 4900

但是如果我查看我的文件夹,文件就在那里,由 django 正确上传。

【问题讨论】:

【参考方案1】:

尝试使用 os.path.join,如下所示:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

您可能还需要使用以下内容更新您的 urls.py:

from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG is True:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

【讨论】:

其实没有必要检查settings.DEBUG,因为static()已经为你做了。您可以在source 和docs 中看到这一点。

以上是关于姜戈。未找到媒体文件的主要内容,如果未能解决你的问题,请参考以下文章

禁止(未设置 CSRF cookie。):/paypal/ |姜戈

姜戈。列出静态文件夹中的文件

姜戈。在 Heroku 中使用多个设置文件

Django Crud,Django crd应用程序,Django-ajax Crud,Djano Boilerplate应用程序,姜戈注册,姜戈登录,姜戈文件上传,Crud,Bootstrap,aj

姜戈 1.5。用户配置文件创建

姜戈。网址找不到视图