2017-03-17 15 views
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として

+0

'python manage.py collectstatic'を実行しましたか? https://docs.djangoproject.com/en/1.10/ref/contrib/staticfiles/ – Marco

+0

Djangoアプリケーションではなく、別のvHost(apache2、nginxなど)を使用する代わりに、メディアファイルを提供することをお勧めします。これにより、メディアファイルをより細かく制御できるようになります。これらのファイルが特定の形式(例:text/plainまたはimage/png)で配信されるようにすることができます –

答えて

関連する問題