我有多个应用,每个应用都有静态文件。 而且我想添加一些像jQuery这样的全局静态文件。
我的项目结构就像
--mysite
|------app1
|-----static
|------app2
|-----static
|------app3
|-----static
|------media
|------static (global one)
|-----app1
|-----app2
|-----app3
我的设置文件就像
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
和url文件就像
urlpatterns = [
url(r'^$', 'home.views.index'),
url(r'^admin/', include(admin.site.urls)),
url(r'^users/', include('users.urls')),
url(r'^projects/', include('cvproject.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + \
static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我正在按照Django网站上的示例开发Web应用程序。
当我在模板中加载静态文件时,它只能找到各个目录中的文件。我如何加载全局静态文件?
谢谢
答案 0 :(得分:1)
确保您的STATICFILES_FINDERS
in settings.py
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'
)
然后定义一个额外的目录,在STATICFILES_DIRS
中包含其他静态文件,如:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
答案 1 :(得分:1)
Staticfiles会自动在多个位置查找静态文件。这与" finders" (STATICFILES_FINDERS
)。
AppDirectoriesFinder
:寻找" / static /"您的应用目录STATICFILES_DIRS
:FileSystemFinder的发现者您可以在静态文件中使用这些工具,我认为您可以使用STATICFILES_DIRS
执行您想要执行的操作。你可以找到STATICFILES_DIRS examples