1
DEBUG = TRUEの場合、media_urlは機能していますが、DEBUG = Falseの場合は機能しません。
これは私の設定ファイルです。[django] debug = falseの場合、MEDIA_URLが返されません。
setting.py
DEBUG = False
...
MEDIA_URL = "/pics/"
MEDIA_ROOT = BASE_DIR
urls.py
urlpatterns = [
....
....
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
home.html
...
<img src="{{ post.image.url}}" ..>
models.py
class Post(models.Model):
title = models.CharField(max_length=255)
pub_date = models.DateTimeField()
image = models.ImageField(upload_to="media/")
多分、この設定が推奨されてデバッグモード。
私はこの設定を変更しました。 the documentation 1として
'python manage.py collectstatic'を実行しましたか? https://docs.djangoproject.com/en/1.10/ref/contrib/staticfiles/ – Marco
Djangoアプリケーションではなく、別のvHost(apache2、nginxなど)を使用する代わりに、メディアファイルを提供することをお勧めします。これにより、メディアファイルをより細かく制御できるようになります。これらのファイルが特定の形式(例:text/plainまたはimage/png)で配信されるようにすることができます –