初学django,官方文档把我弄晕了,链接点了半天又回到了原点,来sf请教一下。
project名为newpro,app名为newapp,目录结构是这样的(略去了一些与问题无关的文件)
BASE_DIR manage.py static_root/ newpro/ settings.py urls.py newapp/ urls.py views.py static/ newapp/ pic.png mystatic/ newapp/ pic.png templates/ newapp/ pic.html
下面是settings.py
# snap INSTALLED_APPS = [ "django.contrib.admin", "d优艾设计网_设计百科jango.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "newapp", ] # snap STATIC_URL = "/mystatic/" STATIC_ROOT = "static_root"
在就是pic.html(忽略其它)
{% load staticfiles %} <img src="{% static "newapp/pic.png" %}">
我发现模板html里用的是static/newapp/pic.png
而非mystatic/newapp/pic.png
,但是我在浏览器里查看源码,图片url是mystatic/newapp/pic.png
.
提问
1.STATIC_URL的功能是否只是在我使用template tag
方式修改模板时,在前面加上前缀(例子中的"/mystatic/" + "newapp/pic.png"),而实际使用那个staticfile还是按照默认的在各个app下的static目录下查找
2.如果把STATIC_URL改成"mystatic/",发现无法显示图片,这好像就说明不是简单的加上前缀,为什么这样无法显示图片呢?模糊地认为是相对路径和绝对路径的问题
3.不用STATICFILES_DIRS是否可以做到搜索staticfiles时是在每个app下面的指定目录,如mystatic
精彩评论