簡體   English   中英

Django 404 上的 Static 文件,同時設置了 static_root 和 static_url

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM