Django Wagtail部署静态文件服务器

时间:2019-08-24 11:00:09

标签: django wagtail

今天部署后,由于某种原因,该项目不再显示在collectstatic流程中已收集的项目样式。我可以从任何浏览器完全访问文件。我已经检查了所有权限。我已经从开发服务器和其他机器浏览到该站点,以消除软件\字体的可能性。不知道这是怎么回事。

我从其他服务器提供文件。其他django项目不受影响。但是,没有其他的django项目使用wagtail之类的东西。此时拉出我的头发,可能只是缺少一些简单的东西。我想念什么?

base.py 配置

STATIC_ROOT = '/var/www/html/static.xxxxxx.net'
STATIC_URL = 'http://static.xxxxxx.net/'

MEDIA_ROOT = '/var/www/html/media.xxxxxx.net'
MEDIA_URL = 'http://media.xxxxxx.net/'

检查服务器上的文件是否存在:

-rw-rw-r-- 1 xxxxxx xxxxxx 13648 Aug 24 09:18 /var/www/html/static.xxxxxx.net/wagtailadmin/css/userbar.3d5222a7eba2.css

检查CSS相对引用

-rw-rw-r-- 1 xxxxxx xxxxxx 68812 Aug 24 09:18 /var/www/html/static.xxxxxx.net/wagtailadmin/css/../../wagtailadmin/fonts/opensans-regular.45f80416d702.woff2

Django Debug Toolbar显示了用于生产和开发环境的4个静态文件。一切都一样。

在chrome inspect视图中,如果我将开发环境中的相对CSS样式表链接替换为文件服务器中的链接,则会以相同的方式破坏

发件人:

/static/wagtailadmin/css/userbar.css

收件人:

http://static.xxxxxx.net/wagtailadmin/css/userbar.css

同样,我可以将该地址保留在我的浏览器中,任何浏览器中,然后我会看到样式表。我真的不知道我的文件服务器如何阻止浏览器处理CSS,但这就是它的样子。

更新:在chrome inspect视图中,如果我从文件服务器中删除使用样式表的css引用,则该页面会丢失所有style \ colors \ etc。如果我将链接重新应用于服务器,它将再次应用样式。 似乎应用了所有样式,除了图标\字形。

更新2:如果更改为STATIC_URL = '/static/',则会得到样式...直到关闭调试为止:-/

The Page enter image description here

2 个答案:

答案 0 :(得分:0)

Wagtail为$type = 'c'; // For example PaymentDetail::whereHas('payment', function ($query) use ($type) { $query->where('type', $type); })->get(); STATIC_ROOTSTATIC_URLMEDIA_ROOT推荐的设置通常要简单得多,并且MEDIA_URL声明通常不是绝对引用。我在..._URL中设置如下:

base.py

答案 1 :(得分:0)

如果您使用wagtail-react-streamfield,请对其进行更新。 wagtail.woff字体在那里复制,并且在收集静电时首先由Django的静态子系统拾取(在wagtail原始字体之前)。

相关问题