![](/img/trans.png)
[英]DJango not finding static files, despite STATIC_URL and STATIC_ROOT set
[英]Static files on Django 404 with static_root and static_url both set
我知道這個問題已經得到了很多回答,但我似乎無法解決這個問題。 我的 static 文件在那里,在我告訴 django 的位置。 Debug 設置為 True,static_url 設置為 '/static/' 但 static 文件是 404ing。
開發(設置).py
DEBUG = True
logger.info(f"Debug is {DEBUG}")
STATIC_URL = "/static/"
STATIC_ROOT = "/home/phillyharper/dask/static"
logger.info(STATIC_ROOT)
使用這些設置運行python manage.py runserver
會產生以下結果:
2021-05-09 07:17:03.197 | INFO | dask.settings.development:<module>:4 - Debug is True
2021-05-09 07:17:03.197 | INFO | dask.settings.development:<module>:47 - Debug is True
2021-05-09 07:17:03.197 | INFO | dask.settings.development:<module>:50 - /home/phillyharper/dask/static
2021-05-09 07:17:03.198 | INFO | dask.settings:<module>:7 - DEV SETTINGS SETTINGS
2021-05-09 01:47:03.417 | INFO | dask.settings.development:<module>:4 - Debug is True
2021-05-09 01:47:03.417 | INFO | dask.settings.development:<module>:47 - Debug is True
2021-05-09 01:47:03.417 | INFO | dask.settings.development:<module>:50 - /home/phillyharper/dask/static
2021-05-09 01:47:03.417 | INFO | dask.settings:<module>:7 - DEV SETTINGS SETTINGS
但是,當我單擊頁面時 - 沒有 static 文件加載。 他們都是404,給這個:~
[09/May/2021 01:47:51] "GET / HTTP/1.1" 200 22203
[09/May/2021 01:47:51] "GET /static/src/assets/lib/perfect-scrollbar/css/perfect-scrollbar.css HTTP/1.1" 404 1800
[09/May/2021 01:47:51] "GET /static/src/assets/lib/material-design-icons/css/material-design-iconic-font.min.css HTTP/1.1" 404 1854
[09/May/2021 01:47:51] "GET /static/src/assets/css/app.css HTTP/1.1" 404 1692
[09/May/2021 01:47:51] "GET /static/src/assets/lib/jquery/jquery.min.js HTTP/1.1" 404 1731
[09/May/2021 01:47:51] "GET /static/src/assets/lib/bootstrap/dist/js/bootstrap.bundle.min.js HTTP/1.1" 404 1794
[09/May/2021 01:47:51] "GET /static/src/assets/lib/perfect-scrollbar/js/perfect-scrollbar.min.js HTTP/1.1" 404 1806
[09/May/2021 01:47:51] "GET /static/src/js/app.js HTTP/1.1" 404 1665
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar1.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar.png HTTP/1.1" 404 1701
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar2.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/assets/lib/bootstrap/dist/js/bootstrap.bundle.min.js HTTP/1.1" 404 1794
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar3.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar4.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar6.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/assets/img/avatar5.png HTTP/1.1" 404 1704
[09/May/2021 01:47:51] "GET /static/src/js/app.js HTTP/1.1" 404 1665
我發現另一個線程說使用 findstatic。 我試過了,但它表明 Django 似乎只在我的虛擬環境中尋找 static,它沒有嘗試在 STATIC_ROOT 的位置。 即使 findstatic 沒有找到它,我也可以確認下面的 css 文件確實存在。
/home/phillyharper/dask/static/src/assets/css/app.css
>> python manage.py findstatic --verbosity 2 src/assets/css/app.css
No matching file found for 'src/assets/css/app.css'.
Looking in the following locations:
/home/phillyharper/.cache/pypoetry/virtualenvs/django_signally-JCl81_Vu-py3.8/lib/python3.8/site-packages/django/contrib/admin/static
/home/phillyharper/.cache/pypoetry/virtualenvs/django_signally-JCl81_Vu-py3.8/lib/python3.8/site-packages/django_extensions/static
這是我在 WSL2 上運行的 django 項目結構。
.
├── certbot
│ └── conf
│ ├── accounts
│ ├── csr
│ └── keys
├── dask
│ ├── apps
│ │ ├── core
│ │ ├── ethscan
│ │ ├── pricegrabber
│ │ ├── scraping
│ │ ├── trader
│ │ └── twitter
│ └── dask
│ ├── __pycache__
│ └── settings
├── nginx
│ └── user_conf.d
└── static
└── src
├── assets
├── html
├── js
└── sass
STATIC_ROOT 僅用於生產。 在開發期間為 static 提供服務時,您需要 STATICFILES_DIR = ["要查看的目錄列表"]
這大概是有什么原因的...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.