【问题标题】:Django static files redirecting to URL with language code使用语言代码重定向到 URL 的 Django 静态文件
【发布时间】:2017-07-20 00:24:48
【问题描述】:
我将Mezzanine 4.1.0 与Django 1.9.12 和django-modeltranslation 0.1.2 一起使用。
我所有的静态文件都像页面一样被重定向:
"GET /static/js/bootstrap.js HTTP/2.0" 301 0
"GET /static/js/bootstrap.js/ HTTP/2.0" 302 0
"GET /en/static/js/bootstrap.js/ HTTP/2.0" 404 6960
有人见过这个吗?它只是刚刚开始发生,没有明显的原因。
【问题讨论】:
-
我想我明白了。它仅在DEBUG = False 时发生。可能需要检查the docs。
标签:
django
mezzanine
django-modeltranslation
【解决方案1】:
就是这样。我所要做的就是设置STATIC_ROOT。
STATIC_ROOT = '/path/to/staticfiles/'
这应该很明显,但是在谷歌搜索问题时我找不到任何东西。希望这对其他人有帮助。
【解决方案2】:
我又开始遇到这个问题了,又回到docs:
配置您的网络服务器以提供位于 STATIC_ROOT 中的文件
URL 静态 URL。例如,这里是如何使用 Apache 和
mod_wsgi。
使用caddy,我改变了我的 Caddyfile:
example.com {
proxy / localhost:42069 {
transparent
}
}
对此:
example.com {
root /path/to/project
proxy / localhost:42069 {
transparent
except /static
}
}
其中 42069 是项目正在侦听的端口。
source