我已经跑步
python manage.py collectstatic
所以我在“ / static”文件夹中有我的静态文件的副本。
但是现在Django使用的是/static/myapp/js/myapp.js中的文件,而不是myapp / static / myapp / js / myapp.js中的文件
我应该做什么更改才能首先解析myapp / static / myapp / js / myapp.js?
settings.py
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_URL = '/static/'
答案 0 :(得分:1)
来自Django official documentation:
STATICFILES_FINDERS
的默认值为:
[
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
默认设置将查找存储在STATICFILES_DIRS设置(使用django.contrib.staticfiles.finders.FileSystemFinder)和每个应用程序的静态子目录(使用django.contrib.staticfiles.finders.AppDirectoriesFinder)中的文件。如果存在多个具有相同名称的文件,则将使用找到的第一个文件。
因此,在您的settings.py
中,添加以下内容:
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
]
基本上,我们正在通过交换默认条目来覆盖STATICFILES_FINDERS
,以便首先使用AppDirectoriesFinder
。