Django+Vue:статический файл не найден

Когда я использую Django+Vue для создания веб-приложения, оказалось, что файлы staic всегда не найдены, хотя я разместил все файлы правильно.

settings.py defined the STATIC_ROOT and STATIC_URL correctly and run the command python3 manage.py collectstatic in terminal

логи с сервера выглядят следующим образом:

WARNING Not Found: /static/js/app.4c2224dc.js
WARNING Not Found: /static/css/app.a5d43e07.css
WARNING Not Found: /static/css/chunk-vendors.2ccfa1b8.css
WARNING Not Found: /static/js/chunk-vendors.c2488b8d.js
WARNING "GET /static/js/app.4c2224dc.js HTTP/1.1" 404 179
WARNING "GET /static/css/app.a5d43e07.css HTTP/1.1" 404 179
WARNING "GET /static/css/chunk-vendors.2ccfa1b8.css HTTP/1.1" 404 179
WARNING "GET /static/js/chunk-vendors.c2488b8d.js HTTP/1.1" 404 179
WARNING Not Found: /login
WARNING "GET /login HTTP/1.1" 404 179
WARNING Not Found: //performanceProject
WARNING "GET //performanceProject HTTP/1.1" 404 179
WARNING Not Found: /performanceProject
WARNING "GET /performanceProject HTTP/1.1" 404 179

Я решил проблему с помощью https://www.cnpython.com/qa/1400788.

1、pip3 install whitenoise
2、modify settings.py add 'whitenoise.middleware.WhiteNoiseMiddleware' to MIDDLEWARE, example below:


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware', # Add WhiteNoise here
    ...
]


# when DEBUG=true
# STATICFILES_DIRS = [
#     os.path.join(BASE_DIR, 'dist/static')
# ]

# when debug=False
STATIC_ROOT = os.path.join(BASE_DIR, 'dist/static')

# always need to be set ignore debug=False or True
STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'



3、python3 manage.py collectstatic
4、python3 manage.py runserver 0.0.0.0:XXXX
Вернуться на верх