2014-11-01 53 views
0

我只是使用Heroku制作我的网站,并且我的媒体图像被破坏,出现了一个奇怪的问题。 这是我在Heroku上的网站结构。我的django制作网站上的图像破碎。为什么?

-- app 
    -- manage.py 
    -- mysite 
     -- settings 
     -- __init__.py 
     -- base.py 
     -- production.py 
    -- static 
     -- media 
      -- product 
      -- images 
       -- 
     -- static_dirs 
     -- static_root 

在我的应用程序/ mysite的/设置/ 初始化的.py

from .base import * 
try: 
    from .local import * 
    live = False 
except: 
    live = True 
if live: 
    from .production import * 

,并在我的base.py

import os 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) 
STATIC_URL = '/static/' 
MEDIA_URL = '/media/'  
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')  
STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root') 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static', 'static_dirs'), 
)  
TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'), 
)  

,并在我的production.py,我注释为下面。

# Static asset configuration 
# import os 
# BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 
# STATIC_ROOT = 'staticfiles' 
# STATIC_URL = '/static/'  
# STATICFILES_DIRS = (
# os.path.join(BASE_DIR, 'static'), 
#) 

最后,我跑了服务器,我的网页上仍然显示图像残缺。 当我通过“google检查元素”仔细查看图像时,我仍然可以看到如下所示的正确路径。

<img class="img-responsive" src="/media/products/images/aws.png"> 

但是,当我看到我的/静态/媒体/产品/图像/文件夹,有发展statge只创建,我不能只是在生产现场创建图像的图像。 (aws.png)

作为django开发的初学者,即使经过几个小时的谷歌搜索,也很难找到答案。

请让我睡&谢谢永远。

+0

在上面的目录列表中(在问题开始时),您拼写错误的“媒体”。这是问题,还是只是在您的文章中的错误? – trnelson 2014-11-01 14:41:58

+0

哦,这只是我的错误,我已经修好了。 – 2014-11-01 14:44:37

回答

0

您需要在生产框上运行collectstatic。

+0

我已经做到了。 – 2014-11-01 18:06:42

相关问题