我在django2.0(来自django1.4)中加载静态文件时遇到困难。这是我到目前为止的内容:
# urls.py
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
# settings.py
TEMPLATES = [
...
'builtins': [
'django.contrib.staticfiles.templatetags.staticfiles',
],
]
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = ''
STATICFILES_DIRS = [
os.path.join(SITE_ROOT, "static"),
]
我在以下位置有一张图片:
[my_project_root]/static/img/image.png
现在,如果直接进入网址,我会得到404:
http://localhost:8000/static/img/image.png
另外,如果我“通过模板”进行操作,我还会得到404:
{% load static %}
<img src="{% static 'img/image.png' %}" alt="My image">
我需要在此处添加什么以提供静态文件?
答案 0 :(得分:0)
这是一个棘手的设置。我需要将STATIC_ROOT
更改为:
STATIC_ROOT = 'static/'
否则,如果使用STATIC_ROOT
='',它将在[project_root]/img/image.png
中查找img文件。