[英]Django static files 404 on server, although working locally
我已經在使用WSGI的apache服務器上部署了django應用程序,但是盡管使用Django的開發服務器在PC上一切正常,但靜態文件卻給我404錯誤。
我的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的開發人員工具,我的靜態文件的網址為:
http://.../app/static/css/main.css
(使用模板示例的靜態文件),我認為這是正確的,並且無法理解其無法正常工作的原因。
這是一個經常出現的問題。 你必須:
STATIC_ROOT
collectstatic
STATICFILES_DIRS
狀態不需要STATICFILES_DIRS
(由Apache處理)。 Apache配置中沒有任何Alias
指令可告訴Apache靜態文件在哪里以及您希望它們在哪個URL下顯示。 看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.