heroku部署django之静态文件配置

大部分步骤如官网的文档 :

https://devcenter.heroku.com/articles/getting-started-with-django 


要将自己的django项目部署到heroku,需要添加或修改一下五个文件:

  1. Procfile
  2. requirements.txt
  3. runtime.txt
  4. wsig.py
  5. settings.py
前四个不易出错,我在修改settings.py时,静态文件的路径在heroku中的配置总是不能成功,而在本地却没问题,因此也坑了挺久。
后来发现,在heroku的官方文档中也有专门说明静态文件的配置的一节:https://devcenter.heroku.com/articles/django-assets

因此在此记录应该注意的地方。

settings.py中静态文件路径的设置:
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)


而对应的工程目录结构:
  
  
  • djangoProject
    • mysite
      • mysite
        • __init__.py
        • templates
        • static
          • images
          • css
        • settings.py
        • urls.py
        • wsgi.py
      • manage.py
      • Procfile
      • requirements.txt
      • runtime.txt
urls.py 中加入规则:
(r'static/$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),
以上是比较简单可用的配置,官方的文档中有更好的推荐。

而原来在本地可以成功,在部署到heroku上却不能成功的代码:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.dirname(os.path.abspath(__file__))
STATICFILES_DIRS = (
    ('css',os.path.join(STATIC_ROOT,'css').replace('\\','/')),
    ('images',os.path.join(STATIC_ROOT,'images').replace('\\','/')),
)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值