2017-03-17 90 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/") 

可能,建議使用此設置調試模式。
什麼shuld我改變這個設置。

+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)提供。 –

回答