我已经使用WSGI在apache服务器上部署了一个django应用程序但是静态文件给了我404错误,尽管使用Django的开发服务器在我的PC上一切正常。
我的apache2.conf:
WSGIScriptAlias /app /srv/App/App/wsgi.py
WSGIPythonPath /srv/App
<Directory /srv/App/App>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
settings.py
STATIC_URL = '/app/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
我如何通过模板调用静态文件的示例
{% load staticfiles %}
...
<link rel="stylesheet" href='{% static "css/main.css" %}'>
唯一不同于我本地应用版本的是,我在settings.py上的STATIC_URL不包含'/ app'部分。根据Chrome的开发人员工具,我的静态文件的URL是:
http://.../app/static/css/main.css
(使用我的模板示例的静态文件) 我认为应该是正确的,不能理解它不起作用的原因。
答案 0 :(得分:0)
答案 1 :(得分:0)
这是一个经常出现的问题。你必须:
STATIC_ROOT
collectstatic
STATICFILES_DIRS
。答案 2 :(得分:0)
You don't have any Alias
directives in Apache configuration telling Apache where your static files are and what URL you want them to appear under. See: