问题' django.contrib.staticfiles',

时间:2017-02-17 18:31:45

标签: python django url static

我的网站在我的生产服务器上工作正常。网址类似于:

https://mymain.site.com

我让我的系统管理员构建了一个用于开发的站点,并且该URL是:

https://mymain.site.com/development

这是一个不同的IP地址,但我相信这个URL正在破坏django路由。大多数情况下,我会在静态部分注意到它。

如果我转到开发服务器设置并将静态网址更改为:

/开发/静态/

代替/ static /就像生产一样

我找不到任何静态文件。由于开发服务器是VM副本,因此服务器上的根用于静态文件是相同的。因此,如果我使用/ development / static作为dev url运行,则无法加载资源。如果我在我的开发服务器上运行,其中url是/ static /我90%确定它从生产服务器(在不同的ip / url)抓取静态文件。不完全确定这里的解决方案是什么?我想要任何想法。

我怀疑我的开发服务器的网址是否更类似于:

https://mymain.site.for.development/

然后,这将从刚刚重新编写一些内容的VM中复制的代码开箱即用。

那么我错过了什么来使用正确的静态文件?

1 个答案:

答案 0 :(得分:0)

我使用CDN进行静态文件托管,这就是我设置settings.py文件的方式:

STATIC_HOST = 'https://cdn.host.com' if not DEBUG else ''
STATIC_URL = STATIC_HOST + '/static/'

当我开发时,我会设置DEBUG = True,一切都按预期工作。我想你会做这样的事情:

STATIC_HOST = 'https://mymain.site.com' if not DEBUG else 'https://mymain.site.com/development'
STATIC_URL = STATIC_HOST + '/static/'

看看这样的东西是否有用。