虽然做了如下配置
settings.py
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
#...
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
urls.py
from django.views.static import serve
from music.settings import MEDIA_ROOT, STATIC_ROOT,STATIC_URL
urlpatterns = [
re_path(r'^static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),
]
仍然访问静态js结果404.
原因是static
文件夹建在了项目根目录下, 实际上开发环境中, static应该放在django app文件夹下面.
生产通过python manage.py collectstatic
来讲app文件夹下的static
文件放在项目根目录的static
文件夹下面, 原因是生产服务器是根据STAIC_ROOT
来读取的. 但是开发服务器是从app文件夹下面的static读取.