Docker Django无法找到静态文件404error

时间:2018-03-20 17:03:43

标签: django docker path static

我想将我的网站django部署到docker。问题是,当我运行docker-compose时,加载了网站html,但静态内容如css,js,logo,mp3则没有。我认为这是因为我的网址。在localhost上我的网站运行正常,但服务器的前缀类似于http://127.0.0.1:8000/Something。我修复了网址,所以html文件运行但我在settings.py中的静态文件看起来像这样:

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static")
]

例如我的homepage.html包含js和css(这适用于localhost),如下所示:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    {% load static %}
    <link rel="stylesheet" href="{% static "styles/homepage.css" %}">
    <script src="{% static "scripts/homepage.js" %}"></script>
</head>

但是当服务器在http://127.0.0.1:8000/Something上运行时,它会在命令行中显示此错误:

enter image description here

如您所见,路径必须不是http://86.110.225.19/static/styles/homepage.css而是。{ http://86.110.225.19/SOMETHING/static/styles/homepage.css

我该如何解决这个问题?非常感谢你。

2 个答案:

答案 0 :(得分:2)

将配置更改为:

STATIC_URL = '/Something/static/'

答案 1 :(得分:0)

我发现了什么造成了这个错误。我添加到 settings.py 行:

SUB_SITE = '/Something/'

它有效! :)