我尝试使用静态将图像转换为模板,如果我在下面使用它可以工作。
<img src="{% static "images/capture.jpg" %}" alt="working image"/>
但是我希望能够在没有类型子文件夹“images /”的情况下执行此操作
<img src="{% static "capture.jpg" %}" alt="notworking image"/>
这是我在设置中的内容
破折号&gt;静态&gt;图片&gt; capture.jpg
短划线&gt;静态&gt; css&gt; mystyle.css
短划线&gt;模板&gt;破折号&gt; home.html
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATIC_URL = '/static/'
STATICFILES_DIRS = (
# os.path.join(PROJECT_ROOT, '../dash/static',), # ( Got same result as below )
os.path.join(PROJECT_ROOT, 'static'), # ( ok )
)
阅读文档;我尝试在我的设置中使用下面的代码,但它不起作用 - 不确定我是否在这里遗漏了一些东西。任何建议都会很棒:
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join('static'),
)
答案 0 :(得分:1)
您可以通过将images文件夹显式放在以下设置中来实现:
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, '../dash/static',),
os.path.join(PROJECT_ROOT, '../dash/static/images',),
)
但我建议不要这样做。您应该有一个static
文件夹,其中包含图像,css文件和javascript文件的所有静态文件都位于相应的子文件夹中。
Djangos默认也是查看每个子应用程序的静态文件夹。
我在settings.py文件中有以下设置,它只是起作用:
STATICFILES_DIRS = (
)
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
)
除非你有充分的理由,否则我不会惹这个。