Django似乎从静态文件URL中删除了https – 为什么?

刚刚将我的网站切换为通过SSL提供服务,我无法让Django接收正确生成的URL:s表示静态文件.

我的STATIC_URL设置采用https://example.com/assets/static/的形式

当我在模板中执行{%static’css / file.css’%}时,路径显示为http://example.com/assets/static/css/file.css – 这与之前相同.

我试图解决这个问题:

>确保我使用正确的设置进行最新提交.
> Ran python manage.py collectstatic
>重新启动nginx / gunicorn / memcached
>删除* .pyc文件,以防万一

MEDIA_URL也会发生同样的事情.但是,如果我进入交互式shell并导入模型,然后打印出上传图像文件的.url属性(例如),则会显示正确的https:// – 前缀.

运行Django 1.9.5,使用CachedStaticFileLoader获取静态文件,Gunicorn(v 19.4)和模板缓存.缓存引擎是memcached.

关于发生了什么的任何想法?

编辑:看起来STATIC_URL和MEDIA_URL的设置更改根本没有被提取,尽管其他代码更改似乎有效.我不知道发生了什么……

最佳答案 答案是没有任何设置变化 – Gunicorn进程被挂起试图以某种方式重启(无论我多少次告诉它),保持旧的进程.对模板等的更改被拾取(因为它们不是python文件),但STATIC_URL从未更新过.

愚蠢的答案:重新启动所有的事情.

点赞